.event-card-poster {
    display: block;
    height: 190px;
    overflow: hidden;
    background: #dfe8e4;
}

.event-card-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.event-countdown {
    margin: 14px 20px 0;
    padding: 12px 13px 13px;
    border: 1px solid #dce5dd;
    border-radius: 17px;
    background: linear-gradient(145deg, #fbfdf9 0%, #f1f6f1 100%);
    box-shadow: 0 8px 22px rgba(8, 55, 47, .06);
}

.event-countdown-label {
    display: block;
    margin-bottom: 8px;
    color: #526761;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-align: center;
    text-transform: uppercase;
}

.event-countdown-clock {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
    gap: 6px;
    align-items: center;
}

.event-countdown-clock[hidden] {
    display: none;
}

.event-countdown-clock > i {
    color: #789089;
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
}

.countdown-unit {
    display: flex;
    min-width: 0;
    min-height: 60px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid #d7e2d9;
    border-radius: 13px;
    background: #fff;
}

.countdown-unit b {
    color: #0a332e;
    font-size: 23px;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
    line-height: 1;
}

.countdown-unit small {
    margin-top: 4px;
    color: #72847f;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
}

.event-countdown[data-state="live"] {
    border-color: #b8dfca;
    background: linear-gradient(145deg, #f2fbf5 0%, #e5f6eb 100%);
}

.event-countdown[data-state="live"] .event-countdown-label {
    color: #087547;
}

.event-countdown[data-state="live"] .countdown-unit {
    border-color: #c4e5d1;
}

.event-countdown[data-state="finished"] {
    padding: 12px 14px;
    border-style: dashed;
    box-shadow: none;
}

.event-countdown[data-state="finished"] .event-countdown-label {
    margin: 0;
}

.event-countdown-compact {
    width: min(100%, 360px);
    margin: 13px 0 0;
}

.event-poster img {
    width: 100%;
    max-height: 720px;
    object-fit: contain;
    background: #eef1eb;
}

.poster-editor {
    display: grid;
    grid-template-columns: minmax(0, 260px) 1fr;
    align-items: center;
    gap: 18px;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px;
}

.poster-editor img {
    width: 100%;
    max-height: 220px;
    object-fit: contain;
    border-radius: 8px;
    background: #eef1eb;
}

.rich-editor-field { min-width:0; }
.rich-editor-field > label > span { display:block; margin-bottom:7px; font-size:.78rem; font-weight:850; }
.rich-editor-toolbar,.rich-editor-surface { display:none; }
.rich-editor-field.is-ready > textarea { display:none; }
.rich-editor-field.is-ready .rich-editor-toolbar { display:flex; align-items:center; gap:5px; overflow-x:auto; border:1px solid #cbd2cc; border-bottom:0; border-radius:11px 11px 0 0; background:#f2f5ef; padding:7px; scrollbar-width:thin; }
.rich-editor-toolbar button,.rich-color-control { display:inline-flex; flex:0 0 auto; min-width:38px; height:36px; align-items:center; justify-content:center; border:1px solid #c6cec7; border-radius:8px; background:#fff; padding:0 9px; color:var(--deep); font-size:.75rem; font-weight:850; }
.rich-editor-toolbar button:active { border-color:var(--green); background:#e4f1ea; }
.rich-color-control { position:relative; gap:5px; cursor:pointer; }
.rich-color-control span { border-bottom:3px solid currentColor; line-height:1.2; }
.rich-color-control input { position:absolute; width:1px; min-height:1px; opacity:0; }
.rich-editor-field.is-ready .rich-editor-surface { display:block; min-height:190px; max-height:520px; overflow:auto; border:1px solid #cbd2cc; border-radius:0 0 11px 11px; background:#fff; padding:16px; outline:none; line-height:1.65; }
.rich-editor-surface:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(15,118,110,.12); }
.rich-editor-field > small { display:block; margin-top:6px; color:var(--muted); }
.rich-content { color:var(--ink); font-size:.94rem; line-height:1.75; overflow-wrap:anywhere; }
.rich-content > :first-child { margin-top:0; }
.rich-content > :last-child { margin-bottom:0; }
.rich-content h2 { margin:1.2em 0 .5em; font-size:1.45rem; }
.rich-content h3 { margin:1.15em 0 .45em; font-size:1.12rem; }
.rich-content p,.rich-content div { margin:0 0 .9em; }
.rich-content ul,.rich-content ol { margin:.6em 0 1em; padding-left:1.45rem; }
.rich-content blockquote { margin:1em 0; border-left:4px solid var(--green); background:#f1f6ed; padding:12px 15px; color:#43534f; }
.competition-content-card { padding:26px; }
.competition-content-card header { margin-bottom:18px; border-bottom:1px solid var(--line); padding-bottom:15px; }
.competition-content-card header span { color:var(--green); font-size:.68rem; font-weight:900; letter-spacing:.1em; }
.competition-content-card header h2 { margin:5px 0 0; font-size:1.55rem; }

.prize-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 0 25px 25px;
}

.prize-grid article {
    display: flex;
    align-items: center;
    gap: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fbfdf2;
    padding: 18px;
}

.prize-icon {
    display: grid;
    flex: 0 0 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--deep);
    color: var(--mint);
    font-size: 1.35rem;
    font-weight: 900;
}

.prize-grid article > div,
.admin-prizes > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.prize-grid small,
.admin-prizes small {
    color: var(--green);
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.prize-grid strong {
    font-size: .9rem;
}

.prize-grid p {
    margin: 3px 0 0;
    color: var(--muted);
    font-size: .78rem;
}

.admin-prizes {
    display: grid;
    gap: 12px;
}

.admin-prizes > div {
    border-top: 1px solid var(--line);
    padding-top: 12px;
}

.admin-prizes > div span {
    color: var(--muted);
    font-size: .8rem;
}

.system-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.system-grid > div {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 20px;
}

.system-grid span {
    display: block;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 800;
}

.system-grid strong {
    display: block;
    margin-top: 5px;
    font-size: 1.25rem;
}

.update-card {
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: #fff;
    padding: 28px;
    box-shadow: var(--shadow);
}

.update-card ol {
    color: var(--muted);
}

.update-warning {
    border-radius: 12px;
    background: #fff5df;
    padding: 14px;
    color: #765000;
    font-size: .85rem;
}

@media (max-width: 760px) {
    .poster-editor,
    .prize-grid,
    .system-grid {
        grid-template-columns: 1fr;
    }

    .prize-grid {
        padding: 0 20px 20px;
    }
}

/* 4.9.0: public rules guide and organizer result visibility controls */
.rules-overview {
    border-block: 1px solid var(--line);
    background: #edf1e7;
    padding: 86px 0;
    scroll-margin-top: 76px;
}

.rules-overview-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr);
    align-items: end;
    gap: 70px;
    margin-bottom: 34px;
}

.rules-overview-heading h2 {
    max-width: 720px;
    margin: 0;
}

.rules-overview-heading > p {
    margin: 0 0 5px;
    color: var(--muted);
}

.rules-principles {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.rules-principles article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 18px;
    min-height: 188px;
    border: 1px solid #d7ddd2;
    border-radius: 18px;
    background: rgba(255, 255, 255, .82);
    padding: 26px;
}

.rules-principles article:first-child {
    border-color: var(--deep);
    background: var(--deep);
    color: #fff;
}

.rules-principles article > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 13px;
    background: #dce8d5;
    color: var(--green);
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .08em;
}

.rules-principles article:first-child > span {
    background: var(--mint);
    color: var(--deep);
}

.rules-principles h3 {
    margin: 2px 0 10px;
    font-size: 1.25rem;
}

.rules-principles p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
}

.rules-principles article:first-child p {
    color: #bed0cb;
}

.rules-checklist {
    display: grid;
    grid-template-columns: minmax(190px, .65fr) minmax(0, 1.6fr) auto;
    align-items: center;
    gap: 30px;
    margin-top: 14px;
    border-radius: 18px;
    background: #fff;
    padding: 25px 27px;
    box-shadow: 0 12px 34px rgba(8, 44, 44, .07);
}

.rules-checklist > div > span {
    color: var(--green);
    font-size: .65rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.rules-checklist h3 {
    margin: 6px 0 0;
}

.rules-checklist ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.rules-checklist li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    color: var(--muted);
    font-size: .78rem;
}

.rules-checklist li b {
    color: var(--green);
}

.rules-checklist .button {
    white-space: nowrap;
}

.results-visibility-control {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
    border: 2px solid;
    border-radius: 16px;
    padding: 18px 20px;
}

.results-visibility-control.is-visible {
    border-color: #2c9a69;
    background: #f1fbf5;
}

.results-visibility-control.is-hidden {
    border-color: #d39a44;
    background: #fff9ee;
}

.results-visibility-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--deep);
    color: var(--mint);
    font-size: 1.1rem;
    font-weight: 950;
}

.results-visibility-status {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.results-visibility-status > span:first-child {
    color: var(--green);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .1em;
}

.results-visibility-status > strong {
    margin: 3px 0;
    font-size: 1.15rem;
}

.results-visibility-status > small {
    color: var(--muted);
}

.results-visibility-schedule {
    width: max-content;
    max-width: 100%;
    margin-top: 8px;
    border-radius: 999px;
    background: rgba(15, 118, 110, .09);
    padding: 5px 9px;
    color: var(--green)!important;
    font-size: .68rem!important;
    letter-spacing: 0!important;
}

.results-visibility-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.results-visibility-actions .button {
    min-height: 42px;
}

@media (max-width: 900px) {
    .rules-overview-heading {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .rules-checklist {
        grid-template-columns: 1fr 1.7fr;
    }

    .rules-checklist .button {
        grid-column: 1 / -1;
        width: max-content;
    }

    .results-visibility-control {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .results-visibility-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        padding-left: 58px;
    }
}

@media (max-width: 760px) {
    .rules-overview {
        padding: 58px 0;
    }

    .rules-principles,
    .rules-checklist {
        grid-template-columns: 1fr;
    }

    .rules-principles article {
        min-height: 0;
        padding: 22px 19px;
    }

    .rules-checklist {
        gap: 20px;
        padding: 22px 19px;
    }

    .rules-checklist .button {
        grid-column: auto;
        width: 100%;
    }

    .results-visibility-control {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: start;
        padding: 17px 16px;
    }

    .results-visibility-actions {
        padding-left: 0;
    }

    .results-visibility-actions .button {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .rules-principles article {
        grid-template-columns: 40px 1fr;
        gap: 12px;
    }

    .rules-principles article > span {
        width: 38px;
        height: 38px;
    }
}

.language-switch { display:flex; gap:3px; border:1px solid var(--line); border-radius:999px; padding:3px; }
.language-switch a { min-width:30px; padding:5px 7px; border-radius:999px; text-align:center; font-size:.68rem; }
.language-switch a.active { background:var(--deep); color:#fff; }
.mobile-language-switch { display:none; }

.nav-with-alert {
    position: relative;
}

.desktop-nav .nav-with-alert {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.nav-alert-badge {
    display: inline-flex;
    min-width: 19px;
    height: 19px;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #d92d20;
    padding: 0 4px;
    color: #fff;
    box-shadow: 0 2px 6px rgba(146, 23, 15, .28);
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.organizer-context-nav .nav-alert-badge {
    flex: 0 0 auto;
    margin-left: 1px;
}

.mobile-nav a .mobile-alert-badge {
    position: absolute;
    top: 5px;
    left: calc(50% + 7px);
    min-width: 18px;
    width: auto;
    height: 18px;
    padding-inline: 4px;
    color: #fff;
    font-size: .55rem;
    line-height: 1;
}

.sponsor-marquee { display:flex; align-items:center; gap:22px; overflow:hidden; border-top:1px solid var(--line); background:#fff; padding:13px 0; }
.marquee-title { flex:0 0 auto; padding-left:24px; color:var(--green); font-size:.7rem; font-weight:900; letter-spacing:.1em; }
.marquee-window { min-width:0; overflow:hidden; }
.marquee-track { display:flex; width:max-content; gap:42px; animation:sponsor-scroll 28s linear infinite; }
.marquee-track a { display:flex; align-items:center; gap:10px; min-width:180px; color:var(--deep); font-size:.8rem; font-weight:800; }
.marquee-track img { width:72px; height:38px; object-fit:contain; }
@keyframes sponsor-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) { .marquee-track { animation:none; } }

.sponsor-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.sponsor-card { display:grid; grid-template-columns:180px 1fr; gap:24px; align-items:center; border:1px solid var(--line); border-radius:var(--radius); background:#fff; padding:24px; box-shadow:var(--shadow); scroll-margin-top:100px; }
.sponsor-logo { display:grid; height:130px; place-items:center; border-radius:14px; background:#f5f7f1; padding:16px; }
.sponsor-logo img { max-width:100%; max-height:100%; object-fit:contain; }
.sponsor-card h2 { margin:0 0 8px; }
.sponsor-card p { color:var(--muted); line-height:1.65; }
.sponsor-card a { color:var(--green); font-weight:800; }

.critical-alert { display:flex; justify-content:space-between; gap:20px; margin-bottom:18px; border:2px solid #d92d20; border-radius:14px; background:#fff0ee; padding:17px 20px; color:#8e1a12; }
.competition-danger-zone { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:34px; border:2px solid #d92d20; border-radius:16px; background:#fff5f3; padding:22px; color:#7e211a; }
.competition-danger-zone > div { display:flex; flex-direction:column; }
.competition-danger-zone span { margin-bottom:4px; color:#b42318; font-size:.66rem; font-weight:950; letter-spacing:.12em; }
.competition-danger-zone strong { color:#711b15; font-size:1.05rem; }
.competition-danger-zone p { margin:4px 0 0; color:#8b514c; font-size:.78rem; }
.competition-danger-zone form { flex:0 0 auto; }
.button-delete-competition { border-color:#b42318; background:#b42318; }
.button-delete-competition:hover { background:#8f1912; }
.participant-review-panel { margin:20px 0 28px; }
.participant-admin-list { display:grid; gap:10px; padding:0 24px 24px; }
.participant-admin-card { display:flex; justify-content:space-between; gap:20px; align-items:center; border:1px solid var(--line); border-radius:13px; padding:16px; }
.participant-admin-card.needs-attention { border:2px solid #d92d20; background:#fff5f3; }
.participant-admin-card h3,.participant-admin-card p { margin:5px 0; }
.participant-actions { display:grid; grid-template-columns:minmax(140px,1fr) auto auto; gap:8px; align-items:center; }
.participant-actions input { min-width:180px; }
.participant-review-queue { display:grid; gap:11px; }
.catch-review-participant { overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 4px 15px rgba(8,44,44,.04); scroll-margin-top:92px; }
.catch-review-participant.has-pending-catches { border:2px solid #d92d20; background:#fff8f7; box-shadow:0 0 0 4px rgba(217,45,32,.07); }
.catch-review-participant > summary { display:grid; grid-template-columns:26px 42px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:78px; padding:14px 17px; cursor:pointer; list-style:none; }
.catch-review-participant > summary::-webkit-details-marker { display:none; }
.catch-review-participant > summary:hover { background:#f8faf5; }
.catch-review-participant.has-pending-catches > summary { background:#fff2f0; }
.queue-chevron { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#edf0eb; color:var(--deep); font-size:1.25rem; font-weight:900; transition:transform .18s ease; }
.catch-review-participant[open] .queue-chevron { transform:rotate(90deg); }
.review-participant-identity { display:flex; min-width:0; flex-direction:column; }
.review-participant-identity strong { overflow:hidden; font-size:.94rem; text-overflow:ellipsis; white-space:nowrap; }
.review-participant-identity small { overflow:hidden; color:var(--muted); font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.review-priority-badge,.review-complete-badge { display:inline-flex; align-items:center; gap:7px; border-radius:999px; padding:7px 11px; font-size:.7rem; font-weight:900; white-space:nowrap; }
.review-priority-badge { background:#d92d20; color:#fff; box-shadow:0 5px 12px rgba(217,45,32,.2); }
.review-priority-badge b { display:grid; width:18px; height:18px; place-items:center; border-radius:50%; background:#fff; color:#d92d20; }
.review-complete-badge { background:#dff1e5; color:#087547; }
.participant-review-catches { border-top:1px solid var(--line); background:#f2f4ef; padding:14px; }
.catch-review-participant.has-pending-catches .participant-review-catches { border-top-color:#efb4ae; }
.participant-review-caption { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:2px 3px 12px; }
.participant-review-caption strong { font-size:.78rem; }
.participant-review-caption span { color:var(--muted); font-size:.68rem; }
.catch-review-participant .review-card { grid-template-columns:200px 1fr; }
.catch-review-participant .review-photo { min-height:275px; }
.review-card.review-pending { border:2px solid #d92d20; background:#fff8f7; box-shadow:0 0 0 4px rgba(217,45,32,.07); }
.review-card.review-complete { border-color:#b8d9c4; background:#fbfdfb; }
.review-card.review-rejected { border-color:#e6cbc7; background:#fffdfc; }
.catch-review-participant .review-card.review-complete .review-photo,
.catch-review-participant .review-card.review-rejected .review-photo { min-height:230px; }
.reviewed-catch-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; overflow:hidden; margin-top:18px; border:1px solid var(--line); border-radius:12px; background:var(--line); }
.reviewed-catch-summary > div { display:flex; min-width:0; flex-direction:column; justify-content:center; background:#f6f9f5; padding:14px 15px; }
.reviewed-catch-summary span { margin-bottom:3px; color:var(--muted); font-size:.68rem; font-weight:800; }
.reviewed-catch-summary strong { overflow-wrap:anywhere; font-size:1rem; }
.reviewed-catch-summary strong small { font-size:.68rem; }
.reviewed-catch-summary .reviewed-catch-reason,
.reviewed-catch-summary .reviewed-catch-note { grid-column:1/-1; }
.review-rejected .reviewed-catch-summary > div:first-child { grid-column:1/-1; }
.reviewed-catch-summary .reviewed-catch-reason { background:#fff4f2; color:#8e251d; }
.reviewed-catch-meta { margin:9px 2px 0; color:#5d706a; font-size:.68rem; }
.review-edit-panel { margin-top:12px; border-top:1px solid var(--line); padding-top:11px; }
.review-edit-panel > summary { display:flex; width:max-content; max-width:100%; align-items:center; gap:7px; margin-left:auto; border:1px solid #b8c4bd; border-radius:999px; background:#fff; padding:8px 12px; color:var(--deep); font-size:.72rem; font-weight:850; cursor:pointer; list-style:none; }
.review-edit-panel > summary::-webkit-details-marker { display:none; }
.review-edit-panel > summary span { display:grid; width:21px; height:21px; place-items:center; border-radius:50%; background:#e7eee7; color:var(--green); font-size:.84rem; }
.review-edit-panel > summary:hover { border-color:var(--green); color:var(--green); }
.review-edit-panel[open] > summary { border-color:var(--green); background:#edf6ee; color:var(--green); }
.review-edit-content { margin-top:12px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:15px; }
.review-edit-content > p { margin:0 0 13px; color:var(--muted); font-size:.72rem; }
.rule-warning { display:flex; flex-direction:column; gap:3px; border:1px solid #f1a208; border-radius:10px; background:#fff7df; padding:12px; color:#73510a; }
.rule-warning-card { box-shadow:inset 4px 0 #f1a208; }
.warning-text { color:#8a5c00!important; font-weight:700; }
.results-curtain { display:grid; place-items:center; gap:8px; padding:48px 24px; text-align:center; background:linear-gradient(135deg,#f2f5ec,#fff); }
.results-curtain span { font-size:2rem; color:var(--green); }
.results-curtain p { max-width:560px; margin:0; color:var(--muted); }
.team-choice { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.form-hint { color:var(--muted); font-size:.8rem; }

.system-content-link { display:flex; align-items:center; gap:16px; margin-bottom:20px; border:1px solid var(--line); border-radius:15px; background:#fff; padding:20px; box-shadow:var(--shadow); }
.system-content-link > span { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--deep); color:var(--mint); }
.system-content-link div { display:flex; flex:1; flex-direction:column; }
.system-content-link small { color:var(--muted); }

.demo-management-card {
    margin-bottom: 22px;
    border-color: rgba(15, 118, 110, .32);
    background: linear-gradient(145deg, #fff, #f5f9f3);
}

.demo-management-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
}

.demo-management-heading h2 {
    margin-bottom: 10px;
}

.demo-management-heading p {
    max-width: 690px;
    margin-bottom: 0;
    color: var(--muted);
}

.demo-ready-badge,
.demo-missing-badge {
    flex: 0 0 auto;
    border-radius: 999px;
    padding: 7px 11px;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .06em;
}

.demo-ready-badge {
    background: #d9f2e6;
    color: #087547;
}

.demo-missing-badge {
    background: #fff0d5;
    color: #946000;
}

.demo-current-summary {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(90px, .4fr)) auto;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 14px;
}

.demo-current-summary > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.demo-current-summary span {
    color: var(--green);
    font-size: .6rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.demo-current-summary strong {
    overflow: hidden;
    margin-top: 3px;
    font-size: .9rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.demo-current-summary > div:not(:first-child) strong {
    font-size: 1.4rem;
}

.demo-current-summary .button {
    min-height: 42px;
    padding-inline: 16px;
    font-size: .75rem;
}

.demo-safety-note {
    margin: 22px 0;
    border-left: 4px solid var(--mint);
    border-radius: 0 11px 11px 0;
    background: #f0f5e9;
    padding: 15px 17px;
}

.demo-safety-note strong {
    font-size: .83rem;
}

.demo-safety-note p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: .78rem;
}

.demo-seed-form {
    border-top: 1px solid var(--line);
    padding-top: 22px;
}

.demo-form-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.demo-form-actions small {
    color: var(--muted);
    font-size: .72rem;
}

@media (max-width: 760px) {
    .demo-management-heading,
    .demo-form-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .demo-ready-badge,
    .demo-missing-badge {
        align-self: flex-start;
    }

    .demo-current-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .demo-current-summary > div:first-child,
    .demo-current-summary .button {
        grid-column: 1 / -1;
    }

    .demo-form-actions .button {
        width: 100%;
    }
}
.catalog-section { margin-bottom:34px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; padding:26px; box-shadow:var(--shadow); }
.catalog-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.8fr); gap:20px; }
.compact-form { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:20px; box-shadow:none; }
.catalog-list { display:grid; align-content:start; gap:8px; }
.catalog-list article { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:10px; padding:12px; }
.inline-create-form,.rules-table form { display:grid; grid-template-columns:repeat(5,1fr) auto; gap:8px; margin-bottom:12px; }
.rules-table { display:grid; gap:8px; }
.rules-table form { grid-template-columns:repeat(5,1fr) auto auto; border-top:1px solid var(--line); padding-top:10px; }
.tiny-check { display:flex!important; align-items:center; gap:5px; white-space:nowrap; }
.tiny-check input { width:auto; height:auto; margin:0; }
.sponsor-admin-form { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:18px; padding:20px; box-shadow:none; }
.sponsor-admin-list { display:grid; gap:12px; }
.sponsor-admin-entry { border-top:1px solid var(--line); padding-top:14px; }
.sponsor-admin-row { display:grid; grid-template-columns:100px repeat(3,1fr); gap:8px; }
.sponsor-admin-row img { width:90px; height:58px; object-fit:contain; }
.sponsor-delete-form { display:flex; justify-content:flex-end; margin-top:10px; }
.footer-credit { text-align:right; }
.footer-credit p { margin:3px 0; }
.steps { grid-template-columns:repeat(4,1fr); }

@media (max-width:760px) {
    .mobile-nav form,.mobile-nav button { display:flex; flex:1; min-width:0; }
    .mobile-nav button { flex-direction:column; align-items:center; justify-content:center; border:0; background:none; color:#71807c; font-size:.62rem; font-weight:800; }
    .catch-review-participant > summary { grid-template-columns:24px 42px minmax(0,1fr); gap:9px; min-height:0; padding:13px 11px; }
    .review-priority-badge,.review-complete-badge { grid-column:2/-1; width:max-content; max-width:100%; margin-top:2px; }
    .participant-review-catches { padding:8px; }
    .participant-review-caption { align-items:flex-start; flex-direction:column; gap:2px; padding:4px 3px 10px; }
    .catch-review-participant .review-card { grid-template-columns:1fr; }
    .catch-review-participant .review-photo { height:220px; min-height:0; }
    .catch-review-participant .review-card.review-complete .review-photo,
    .catch-review-participant .review-card.review-rejected .review-photo { min-height:0; }
    .reviewed-catch-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .review-edit-content { padding:12px; }
    .competition-danger-zone { align-items:stretch; flex-direction:column; gap:15px; padding:18px; }
    .competition-danger-zone .button { width:100%; }
}

@media (max-width:900px) {
    .sponsor-grid,.catalog-grid { grid-template-columns:1fr; }
    .sponsor-card { grid-template-columns:130px 1fr; }
    .inline-create-form,.rules-table form { grid-template-columns:1fr 1fr; }
    .sponsor-admin-form,.sponsor-admin-row { grid-template-columns:1fr 1fr; }
    .steps { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:620px) {
    .mobile-language-switch { display:flex; margin-left:auto; }
    .sponsor-marquee { align-items:flex-start; flex-direction:column; gap:8px; }
    .sponsor-card,.compact-form,.team-choice,.participant-actions,.sponsor-admin-form,.sponsor-admin-row { grid-template-columns:1fr; }
    .sponsor-logo { height:110px; }
    .participant-admin-card,.critical-alert { align-items:stretch; flex-direction:column; }
    .participant-actions input { min-width:0; }
    .steps { grid-template-columns:1fr; }
    .footer-credit { text-align:left; }
}

.system-update-alert { display:flex; position:relative; z-index:30; align-items:center; justify-content:center; gap:12px; background:#b42318; padding:11px 18px; color:#fff; font-size:.82rem; }
.system-update-alert > strong { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:#fff; color:#b42318; }
.system-update-alert > b { text-decoration:underline; }
.mobile-nav .has-alert { position:relative; color:#b42318; }
.mobile-nav .has-alert:after { content:""; position:absolute; top:8px; right:calc(50% - 17px); width:8px; height:8px; border-radius:50%; background:#d92d20; }
.update-status-card { display:flex; align-items:center; gap:14px; margin-bottom:20px; border:2px solid; border-radius:14px; padding:17px 20px; }
.update-status-card > span { display:grid; flex:0 0 38px; height:38px; place-items:center; border-radius:50%; font-weight:950; }
.update-status-card > div { display:flex; flex-direction:column; }
.update-status-card small { color:inherit; opacity:.8; }
.update-required { border-color:#d92d20; background:#fff0ee; color:#8e1a12; }
.update-required > span { background:#d92d20; color:#fff; }
.update-current { border-color:#219653; background:#effaf3; color:#087547; }
.update-current > span { background:#219653; color:#fff; }

.photo-upload em { display:block; margin-top:7px; color:var(--green); font-size:.75rem; font-style:normal; font-weight:800; }
.upload-guide.has-release-video { grid-template-columns:1fr repeat(4,1fr); }
.release-video-setting { border-color:#b8d8ce; background:#f3f9f6; }
.release-video-upload { overflow:hidden; margin-bottom:25px; border:2px dashed #8daaa1; border-radius:15px; background:#f3f7f5; }
.release-video-upload > label { position:relative; display:grid; min-height:190px; place-items:center; align-content:center; padding:24px; text-align:center; cursor:pointer; }
.release-video-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.release-video-upload .release-video-icon { display:grid; width:50px; height:50px; margin:0 auto 11px; place-items:center; border-radius:50%; background:var(--deep); color:var(--mint); font-size:1.15rem; }
.release-video-upload strong,.release-video-upload small,.release-video-upload em { display:block; }
.release-video-upload small { max-width:560px; color:var(--muted); }
.release-video-upload em { margin-top:7px; color:var(--green); font-size:.75rem; font-style:normal; font-weight:800; }
.release-video-upload video { width:100%; max-height:430px; border-top:1px solid var(--line); background:#061e1e; }
.release-video-upload.has-error { border-color:#d92d20; background:#fff6f5; }
.release-video-upload.has-error em { color:#b42318; }
.release-video-proof { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr); align-items:center; gap:15px; margin:0 0 18px; border:1px solid #cbded7; border-radius:12px; background:#f2f8f5; padding:13px; }
.release-video-proof > div { display:flex; flex-direction:column; }
.release-video-proof > div span { color:var(--green); font-size:.61rem; font-weight:950; letter-spacing:.1em; }
.release-video-proof > div strong { margin:4px 0 2px; }
.release-video-proof > div small { color:var(--muted); font-size:.7rem; }
.release-video-proof video { width:100%; max-height:260px; border-radius:9px; background:#061e1e; }
.release-video-missing { display:flex; flex-direction:column; margin:0 0 18px; border:1px solid #e8b3ad; border-radius:11px; background:#fff4f2; padding:12px 14px; color:#9e241b; }
.release-video-missing span { margin-top:3px; font-size:.72rem; }
.button:disabled { cursor:wait; opacity:.55; transform:none; }
.participant-review-note { margin:7px 0 0!important; border-left:3px solid var(--green); border-radius:0 8px 8px 0; background:#eef6ef; padding:8px 10px; color:#234e43!important; font-size:.78rem!important; }

.competition-fish-rules { display:grid; gap:9px; }
.competition-fish-rules article { display:grid; grid-template-columns:minmax(170px,1fr) 150px 150px; align-items:end; gap:12px; border:1px solid var(--line); border-radius:12px; background:#fff; padding:13px 15px; }
.competition-fish-rules article > div { display:flex; min-width:0; flex-direction:column; }
.competition-fish-rules article small { color:var(--muted); }
.competition-fish-rules label > span { margin-bottom:4px; }
.competition-fish-rules input { min-height:44px; }

.competition-access-card { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; margin-bottom:18px; border:1px solid #9fc5b0; border-radius:16px; background:#f0faf4; padding:18px 20px; }
.competition-access-card > div:first-child { display:grid; grid-template-columns:auto auto; align-items:center; gap:2px 12px; }
.competition-access-card > div:first-child span { grid-column:1/-1; color:var(--green); font-size:.65rem; font-weight:900; letter-spacing:.1em; }
.competition-access-card > div:first-child strong { font-size:2rem; letter-spacing:.16em; }
.competition-access-card > div:first-child small { color:var(--muted); }
.competition-access-stats { display:flex; justify-content:center; gap:25px; }
.competition-access-stats span { display:flex; flex-direction:column; color:var(--muted); font-size:.72rem; }
.competition-access-stats b { color:var(--ink); font-size:1rem; }
.competition-access-actions { display:flex; align-items:flex-end; flex-direction:column; gap:6px; }
.competition-access-actions .button { min-height:42px; white-space:nowrap; }
.competition-access-actions > a { color:var(--green); font-size:.68rem; font-weight:850; }
.participant-management-link { display:flex; align-items:center; gap:15px; margin-bottom:28px; border:1px solid var(--line); border-radius:15px; background:#fff; padding:18px 20px; box-shadow:var(--shadow); }
.participant-management-link > span { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--deep); color:var(--mint); }
.participant-management-link > div { display:flex; flex:1; min-width:0; flex-direction:column; }
.participant-management-link small { color:var(--muted); }

.schedule-builder { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:22px; }
.schedule-card { border:1px solid var(--line); border-radius:15px; background:#f9faf6; padding:18px; }
.schedule-card.field-wide { grid-column:1/-1; }
.schedule-card > header { display:flex; align-items:flex-start; gap:11px; margin-bottom:15px; }
.schedule-card > header > span { display:grid; flex:0 0 29px; height:29px; place-items:center; border-radius:50%; background:var(--deep); color:var(--mint); font-size:.7rem; font-weight:950; }
.schedule-card > header > div { display:flex; flex-direction:column; }
.schedule-card > header strong { font-size:.94rem; }
.schedule-card > header small,.schedule-help { color:var(--muted); font-size:.73rem; }
.date-time-fields { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(140px,.65fr); gap:10px; }
.date-time-fields label > span,.date-time-field > span { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; font-size:.78rem; font-weight:850; }
.date-time-fields label > span b,.date-time-field > span b { border-radius:999px; background:#e1eee9; padding:2px 7px; color:var(--green); font-size:.61rem; letter-spacing:.08em; }
.date-time-fields input { min-width:0; }
.date-time-field > small { display:block; margin-top:6px; color:var(--muted); font-size:.7rem; }
.time-24-control { display:grid; min-height:50px; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; overflow:hidden; border:1px solid #cbd2cc; border-radius:10px; background:#fff; transition:.15s; }
.time-24-control:focus-within { border-color:var(--green); box-shadow:0 0 0 3px rgba(15,118,110,.12); }
.time-24-control select { min-width:0; min-height:48px; border:0; border-radius:0; background:#fff; padding:8px 4px; box-shadow:none; font-weight:800; font-variant-numeric:tabular-nums; text-align:center; }
.time-24-control select:focus { box-shadow:none; }
.time-24-control strong { color:var(--green); font-size:1.05rem; }
.schedule-pair-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.schedule-pair-grid fieldset { min-width:0; margin:0; border:1px solid var(--line); border-radius:11px; padding:12px; }
.schedule-pair-grid legend { padding:0 6px; color:var(--green); font-size:.72rem; font-weight:900; }
.schedule-help { margin:12px 0 0; }
.schedule-followup { margin-top:4px; }

.registration-control-card { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; border:2px solid; border-radius:16px; background:#fff; padding:18px 20px; }
.registration-control-card.is-open { border-color:#2c9a69; background:#f1fbf5; }
.registration-control-card.is-closed { border-color:#d39a44; background:#fff9ee; }
.registration-control-status { display:flex; min-width:0; flex-direction:column; }
.registration-control-status > span { color:var(--green); font-size:.66rem; font-weight:950; letter-spacing:.1em; }
.registration-control-status > strong { margin:3px 0; font-size:1.15rem; }
.registration-control-status > small { color:var(--muted); }
.registration-control-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.summary-grid { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }

.browser-notification-wrap {
    padding-top: 14px;
}

.browser-notification-control {
    overflow: hidden;
    border: 1px solid #c9d5cf;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(8, 44, 44, .05);
}

.browser-notification-control button {
    display: grid;
    width: 100%;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border: 0;
    background: transparent;
    padding: 11px 14px;
    color: var(--ink);
    text-align: left;
    cursor: pointer;
}

.browser-notification-control button:disabled {
    cursor: default;
}

.browser-notification-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: #fff0d5;
    color: #946000;
}

.browser-notification-icon svg {
    width: 19px;
    height: 19px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.browser-notification-control strong,
.browser-notification-control small {
    display: block;
}

.browser-notification-control strong {
    font-size: .83rem;
}

.browser-notification-control small {
    margin-top: 2px;
    color: var(--muted);
    font-size: .68rem;
    line-height: 1.35;
}

.browser-notification-control b {
    border-radius: 999px;
    background: var(--deep);
    padding: 7px 11px;
    color: #fff;
    font-size: .65rem;
    white-space: nowrap;
}

.browser-notification-control.is-enabled {
    border-color: #a7d8bf;
    background: #f4fbf7;
}

.browser-notification-control.is-enabled .browser-notification-icon {
    background: #ddf3e7;
    color: #087547;
}

.browser-notification-control.is-enabled b {
    background: #087547;
}

.browser-notification-control.is-denied .browser-notification-icon,
.browser-notification-control.is-unsupported .browser-notification-icon {
    background: #f1f2ef;
    color: #6f7974;
}

.browser-notification-control.is-denied b,
.browser-notification-control.is-unsupported b {
    background: #6f7974;
}

.competition-quick-menu {
    margin-bottom: 20px;
    overflow: hidden;
    border: 1px solid #b9c9c1;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(8, 44, 44, .07);
}

.quick-menu-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: linear-gradient(125deg, var(--deep), #15524d);
    padding: 17px 20px;
    color: #fff;
}

.quick-menu-heading > div {
    min-width: 0;
}

.quick-menu-heading span {
    display: block;
    color: var(--mint);
    font-size: .61rem;
    font-weight: 950;
    letter-spacing: .12em;
}

.quick-menu-heading h2 {
    margin: 3px 0;
    font-size: 1.35rem;
}

.quick-menu-heading p {
    margin: 0;
    color: #bed0cc;
    font-size: .73rem;
}

.quick-menu-heading > a {
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 999px;
    padding: 8px 12px;
    color: #fff;
    font-size: .69rem;
    font-weight: 900;
}

.quick-menu-heading > a:hover {
    border-color: var(--mint);
    color: var(--mint);
}

.quick-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: var(--line);
}

.quick-control-tile {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
    gap: 13px;
    background: #fff;
    padding: 18px 20px;
}

.quick-control-tile.is-on {
    box-shadow: inset 0 3px #2c9a69;
}

.quick-control-tile.is-off {
    box-shadow: inset 0 3px #d39a44;
}

.quick-control-tile.is-flexible {
    box-shadow: inset 0 3px #287ca0;
}

.quick-control-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: #e6f2ec;
    color: var(--green);
}

.quick-control-tile.is-off .quick-control-icon {
    background: #fff0d5;
    color: #946000;
}

.quick-control-tile.is-flexible .quick-control-icon {
    background: #e4f2f8;
    color: #17617f;
}

.quick-control-icon svg {
    width: 20px;
    height: 20px;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.quick-control-copy {
    min-width: 0;
}

.quick-control-copy > span {
    display: block;
    color: var(--green);
    font-size: .61rem;
    font-weight: 950;
    letter-spacing: .09em;
}

.quick-control-copy h3 {
    margin: 3px 0 2px;
    font-size: 1.05rem;
}

.quick-control-copy p,
.quick-control-copy small {
    display: block;
    margin: 0;
    color: var(--muted);
    font-size: .7rem;
    line-height: 1.45;
}

.quick-control-copy small {
    margin-top: 6px;
}

.quick-pin-code {
    color: var(--deep);
    font-size: .82rem;
    letter-spacing: .1em;
}

.quick-state-pill {
    border-radius: 999px;
    background: #fff0d5;
    padding: 5px 8px;
    color: #946000;
    font-size: .58rem;
    font-weight: 950;
    letter-spacing: .06em;
}

.quick-state-pill.is-on {
    background: #ddf3e7;
    color: #087547;
}

.quick-state-pill.is-flexible {
    background: #e4f2f8;
    color: #17617f;
}

.quick-control-actions {
    display: flex;
    grid-column: 2 / -1;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 2px;
}

.quick-control-actions .button {
    min-height: 40px;
    padding-inline: 16px;
    font-size: .74rem;
}

.quick-auto-action {
    min-height: 36px;
    border: 0;
    background: transparent;
    padding: 4px 7px;
    color: var(--green);
    font-size: .68rem;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.quick-control-locked {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 750;
}

.competition-quick-menu.is-compact {
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.competition-quick-menu.is-compact .quick-menu-heading {
    padding: 13px 20px;
}

.competition-quick-menu.is-compact .quick-menu-heading h2 {
    font-size: 1rem;
}

.competition-quick-menu.is-compact .quick-menu-heading p {
    display: none;
}

.competition-quick-menu.is-compact .quick-control-tile {
    padding-block: 15px;
}

@media (max-width: 800px) {
    .quick-menu-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .quick-menu-heading {
        align-items: flex-start;
    }

    .quick-control-actions .button,
    .quick-auto-action {
        width: 100%;
    }
}

@media (max-width: 430px) {
    .browser-notification-wrap {
        padding-top: 10px;
    }

    .browser-notification-control button {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 10px 12px;
    }

    .browser-notification-control button > b {
        grid-column: 2;
        justify-self: start;
    }

    .quick-menu-heading {
        flex-wrap: wrap;
        gap: 10px;
        padding: 16px;
    }

    .quick-menu-heading > a {
        padding: 6px 10px;
    }

    .quick-control-tile {
        grid-template-columns: auto minmax(0, 1fr);
        padding: 16px;
    }

    .quick-state-pill {
        grid-column: 2;
        justify-self: start;
    }

    .quick-control-actions {
        grid-column: 1 / -1;
    }
}

.pin-gate { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:18px; padding:28px; background:linear-gradient(135deg,#f2f5ec,#fff); }
.pin-lock { display:grid; width:58px; height:58px; place-items:center; border-radius:16px; background:var(--deep); color:var(--mint); font-size:.82rem; font-weight:950; letter-spacing:.08em; }
.pin-gate p { margin:5px 0 0; color:var(--muted); }
.pin-gate form { display:flex; gap:8px; }
.pin-gate input { width:105px; text-align:center; font-size:1.25rem; font-weight:900; letter-spacing:.18em; }
.competition-stat-strip { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f7f9f4; }
.competition-stat-strip > div { display:flex; flex-direction:column; padding:14px 20px; border-right:1px solid var(--line); }
.competition-stat-strip > div:last-child { border:0; }
.competition-stat-strip span { color:var(--muted); font-size:.68rem; font-weight:800; }
.competition-stat-strip strong { font-size:1.05rem; }
.competition-stat-strip .pending-stat { background:#fff5df; }
.competition-stat-strip .pending-stat strong { color:#9a6300; }
.competition-stat-strip .no-catch-stat { background:#f3f4f1; }
.leader-podium { padding:25px 24px 30px; border-bottom:1px solid var(--line); background:radial-gradient(circle at 50% 0,rgba(184,227,75,.17),transparent 42%),linear-gradient(180deg,#f5f8f0,#edf2ea); }
.leader-podium-heading { display:flex; align-items:center; justify-content:center; gap:8px; margin-bottom:22px; color:var(--deep); text-align:center; }
.leader-podium-heading > span { display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:var(--deep); color:var(--mint); font-size:.7rem; }
.leader-podium-heading strong { font-size:.72rem; letter-spacing:.12em; }
.leader-podium-heading small { color:var(--muted); font-size:.68rem; }
.leader-podium-grid { display:grid; grid-template-columns:1fr 1.12fr 1fr; grid-template-areas:"second first third"; align-items:end; gap:12px; max-width:760px; margin:0 auto; padding-top:14px; }
.leader-podium-card { position:relative; display:flex; min-width:0; min-height:188px; align-items:center; flex-direction:column; justify-content:flex-start; border:1px solid #d8ded7; border-radius:22px; background:rgba(255,255,255,.94); padding:38px 14px 16px; text-align:center; box-shadow:0 10px 25px rgba(8,44,44,.07); }
.leader-podium-card.podium-first { grid-area:first; min-height:218px; border-color:#c9db77; background:linear-gradient(180deg,#fff,#fbfde9); box-shadow:0 18px 35px rgba(8,44,44,.13); }
.leader-podium-card.podium-second { grid-area:second; }
.leader-podium-card.podium-third { grid-area:third; }
.podium-place { position:absolute; top:-15px; display:grid; width:35px; height:35px; place-items:center; border:4px solid #edf2ea; border-radius:50%; background:#8b9aa0; color:#fff; font-size:.9rem; font-weight:950; box-sizing:content-box; }
.podium-first .podium-place { width:40px; height:40px; background:#e4ac20; font-size:1.05rem; }
.podium-first .podium-place:before { position:absolute; top:-18px; color:#e4ac20; font-size:17px; content:"♛"; }
.podium-third .podium-place { background:#c97525; }
.podium-avatar { display:grid; width:64px; height:64px; flex:0 0 auto; place-items:center; border:5px solid #fff; border-radius:50%; background:linear-gradient(145deg,var(--deep),#1a6b62); color:var(--mint); font-size:1.15rem; font-weight:950; letter-spacing:.04em; box-shadow:0 0 0 2px #d8e0d8; }
.podium-first .podium-avatar { width:76px; height:76px; background:linear-gradient(145deg,#0a3b39,#0f766e); box-shadow:0 0 0 3px #d5e68c; }
.podium-name { display:-webkit-box; max-width:100%; margin-top:10px; overflow:hidden; font-size:.93rem; line-height:1.15; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.podium-subtitle { display:block; max-width:100%; margin-top:4px; overflow:hidden; color:var(--muted); font-size:.67rem; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.podium-score { margin-top:auto; padding-top:10px; color:var(--deep); font-size:1.3rem; line-height:1; white-space:nowrap; }
.podium-first .podium-score { color:var(--green); font-size:1.48rem; }
.podium-score em { font-size:.62rem; font-style:normal; }
.podium-biggest { margin-top:6px; color:var(--muted); font-size:.65rem; line-height:1.2; }
.leaderboard-entry { border-bottom:1px solid var(--line); }
.leaderboard-entry summary { cursor:pointer; list-style:none; }
.leaderboard-entry summary::-webkit-details-marker { display:none; }
.leaderboard-entry .leaderboard-row { border-bottom:0; }
.leaderboard-head,.leaderboard-entry .leaderboard-row { grid-template-columns:65px minmax(210px,1fr) 105px 105px 155px; }
.leaderboard-entry.prize-place .leaderboard-row { background:#f7fadf; }
.leaderboard-entry.is-me .leaderboard-row { box-shadow:inset 4px 0 var(--green); }
.leader-catch-summary { background:#eef2ea!important; color:#46534f!important; }
.catch-total-cell { display:flex; flex-direction:column; line-height:1.25; }
.catch-total-cell b { font-size:1rem; }
.catch-total-cell small { color:var(--muted); font-size:.64rem; }
.leaderboard-entry .total { position:relative; display:flex; align-items:flex-end; flex-direction:column; padding-right:17px; line-height:1.15; }
.leaderboard-entry .total .score-sum-label { color:var(--green); font-size:.59rem; font-weight:900; text-transform:uppercase; }
.leaderboard-entry .total b { font-size:1rem; white-space:nowrap; }
.leaderboard-entry .total em { color:var(--muted); font-size:.65rem; font-style:normal; }
.leaderboard-entry .total i { position:absolute; right:0; top:50%; display:inline-block; color:var(--green); font-style:normal; transition:transform .18s; transform:translateY(-50%); }
.leaderboard-entry[open] .total i { transform:translateY(-50%) rotate(180deg); }
.compact-catch-list { display:grid; gap:1px; border-top:1px solid var(--line); background:var(--line); padding-left:70px; }
.compact-catch-summary { display:flex; align-items:center; justify-content:space-between; gap:14px; background:#f2f6ee; padding:9px 18px; color:var(--muted); font-size:.7rem; }
.compact-catch-summary strong { color:var(--green); }
.compact-catch-list article { display:grid; grid-template-columns:52px 1fr auto; align-items:center; gap:11px; min-height:62px; background:#fbfcf8; padding:6px 18px 6px 8px; }
.compact-catch-list img { width:52px; height:50px; border-radius:8px; object-fit:cover; }
.compact-catch-photo { position:relative; width:52px; height:50px; margin:0; border:0; border-radius:8px; background:var(--deep); padding:0; overflow:hidden; }
.compact-catch-photo > span { position:absolute; right:3px; bottom:3px; display:grid; width:18px; height:18px; place-items:center; border-radius:50%; background:rgba(8,44,44,.9); color:#fff; font-size:.65rem; }
.compact-catch-list .pending-leaderboard-catch { background:#fff9ed; }
.compact-catch-list .scoring-leaderboard-catch { border-left:4px solid var(--green); background:#f5faee; }
.compact-catch-list .outside-score-limit { background:#f5f5f2; opacity:.82; }
.scoring-catch-badge { width:max-content; border-radius:999px; background:#dff1d5; padding:2px 7px; color:#257046!important; font-weight:900; }
.outside-score-badge { color:#6e7774!important; font-weight:800; }
.status-text { font-weight:800; }
.status-text-pending,.pending-count,.catch-state.pending { color:#9a6300!important; }
.catch-state.empty { color:#6c7773!important; background:#eef0ed!important; }
.pending-count { display:block; font-size:.64rem; font-weight:900; }
.compact-catch-placeholder { display:grid; width:52px; height:50px; place-items:center; border-radius:8px; background:var(--deep); color:var(--mint); font-size:1.2rem; }
.compact-catch-list article > div { display:flex; min-width:0; flex-direction:column; }
.compact-catch-list small { color:var(--muted); font-size:.69rem; }
.compact-catch-list article > b { white-space:nowrap; font-size:.82rem; }
.compact-catch-list > p { margin:0; background:#fbfcf8; padding:16px; color:var(--muted); }

.participant-page-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:20px; }
.participant-page-summary > div { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:13px; background:#fff; padding:16px; }
.participant-page-summary span { color:var(--muted); font-size:.7rem; font-weight:800; }
.participant-page-summary strong { font-size:1.7rem; }
.participant-page-summary .danger { border:2px solid #d92d20; background:#fff3f1; color:#a4261d; }
.participant-management-card { margin-bottom:14px; border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; }
.participant-management-card.needs-attention { border:2px solid #d92d20; }
.participant-management-card.without-catches { border-color:#d6b46d; }
.participant-no-catch-label { display:inline-flex; width:max-content; margin-top:7px; border-radius:999px; background:#fff0d5; padding:4px 8px; color:#946000; font-size:.66rem; font-weight:850; }
.participant-management-card > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; }
.participant-identity { display:flex; align-items:center; gap:14px; }
.participant-identity h2 { margin:6px 0 3px; font-size:1.2rem; }
.participant-identity p { margin:0; color:var(--muted); font-size:.78rem; }
.participant-score { display:flex; flex-direction:column; text-align:right; }
.participant-score span,.participant-score small { color:var(--muted); font-size:.7rem; }
.participant-score strong { font-size:1.2rem; }
.participant-management-card > .participant-review-note { margin:0 20px 14px!important; }
.participant-management-actions { display:flex; align-items:end; gap:9px; border-top:1px solid var(--line); background:#fafbf8; padding:12px 20px; }
.participant-decision-form,.bib-admin-form { display:flex; align-items:end; gap:8px; }
.participant-decision-form { flex:1; }
.participant-decision-form input { min-width:180px; }
.bib-admin-form label { width:135px; }
.participant-management-actions .button { min-height:44px; padding-inline:16px; }
.participant-catches { border-top:1px solid var(--line); }
.participant-catches summary { cursor:pointer; padding:13px 20px; font-size:.8rem; font-weight:850; }
.participant-catches .compact-catch-list { padding-left:0; }

.user-search { display:flex; max-width:650px; gap:8px; margin-bottom:20px; }
.user-admin-list { display:grid; gap:12px; }
.user-admin-card { border:1px solid var(--line); border-radius:15px; background:#fff; padding:18px 20px; }
.user-admin-card > header { display:flex; justify-content:space-between; gap:18px; }
.user-admin-card h2 { margin:7px 0 4px; font-size:1.2rem; }
.user-admin-card p,.user-admin-card header > small { margin:0; color:var(--muted); font-size:.76rem; }
.user-stat-row { display:flex; gap:22px; margin:14px 0; border-block:1px solid var(--line); padding:10px 0; color:var(--muted); font-size:.75rem; }
.user-stat-row b { color:var(--ink); }
.user-admin-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.user-admin-actions > form { display:flex; align-items:center; gap:9px; }
.user-admin-actions details summary { cursor:pointer; color:var(--green); font-size:.8rem; font-weight:850; }
.user-admin-actions details form { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; margin-top:10px; }
.pagination-wrap { margin-top:20px; }

.review-photo button { position:relative; display:block; width:100%; height:100%; border:0; background:transparent; padding:0; }
.review-photo button > span { position:absolute; right:10px; bottom:10px; border-radius:20px; background:rgba(8,44,44,.85); padding:5px 10px; color:#fff; font-size:.67rem; }
.catch-thumb button { width:100%; height:100%; border:0; background:transparent; padding:0; }
.catch-thumb button img { width:100%; height:100%; object-fit:cover; }
.image-lightbox { width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; border:0; background:rgba(2,16,16,.95); padding:54px 14px 20px; color:#fff; }
.image-lightbox::backdrop { background:rgba(2,16,16,.78); }
.image-lightbox[open] { display:grid; place-items:center; }
.image-lightbox figure { display:grid; max-width:min(100%,1100px); max-height:calc(100dvh - 80px); margin:0; place-items:center; }
.image-lightbox img { max-width:100%; max-height:calc(100dvh - 115px); border-radius:12px; object-fit:contain; }
.image-lightbox figcaption { margin-top:9px; color:#d9e3df; font-size:.8rem; text-align:center; }
.image-lightbox-close { position:fixed; z-index:2; top:12px; right:14px; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:#fff; color:var(--deep); font-size:1.7rem; line-height:1; }

.profile-head { background:linear-gradient(135deg,#082c2c,#0d514b); }
.profile-page { padding:30px 0 80px; background:#f4f6f0; }
.profile-layout { display:grid; grid-template-columns:285px minmax(0,1fr); align-items:start; gap:22px; }
.profile-summary-card { position:sticky; top:92px; display:flex; align-items:center; flex-direction:column; border:1px solid var(--line); border-radius:18px; background:#fff; padding:28px 22px; text-align:center; box-shadow:var(--shadow); }
.profile-avatar { display:grid; width:76px; height:76px; margin-bottom:14px; place-items:center; border-radius:22px; background:linear-gradient(145deg,var(--deep),#17625c); color:var(--mint); font-size:2rem; font-weight:950; }
.profile-summary-card h2 { margin:10px 0 3px; font-size:1.35rem; }
.profile-summary-card > p { max-width:100%; margin:0; overflow:hidden; color:var(--muted); font-size:.78rem; text-overflow:ellipsis; white-space:nowrap; }
.profile-summary-card dl { width:100%; margin:22px 0 15px; border-block:1px solid var(--line); }
.profile-summary-card dl > div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.profile-summary-card dl > div:last-child { border:0; }
.profile-summary-card dt { color:var(--muted); font-size:.72rem; }
.profile-summary-card dd { margin:0; font-size:.78rem; font-weight:900; }
.profile-summary-card > small { color:var(--muted); font-size:.68rem; line-height:1.5; }
.profile-settings-stack { display:grid; gap:18px; }
.profile-panel { overflow:hidden; }
.profile-panel > header { border-bottom:1px solid var(--line); padding:22px 24px; }
.profile-panel > header > span { color:var(--green); font-size:.64rem; font-weight:950; letter-spacing:.11em; }
.profile-panel > header h2 { margin:5px 0 3px; font-size:1.45rem; }
.profile-panel > header p { margin:0; color:var(--muted); font-size:.78rem; }
.profile-form { padding:24px; }
.profile-submit { display:flex; justify-content:flex-end; padding-top:5px; }
.profile-logout { display:none; }

@media (max-width:900px) {
    .upload-guide.has-release-video { grid-template-columns:1fr; }
    .competition-access-card { grid-template-columns:1fr auto; }
    .competition-access-stats { justify-content:flex-start; }
    .competition-access-actions { grid-column:2; grid-row:1/3; }
    .participant-management-actions { align-items:stretch; flex-direction:column; }
    .participant-decision-form,.bib-admin-form { width:100%; }
}

@media (max-width:760px) {
    .release-video-proof { grid-template-columns:1fr; }
    .system-update-alert { align-items:flex-start; justify-content:flex-start; }
    .system-update-alert > b { margin-left:auto; white-space:nowrap; }
    .competition-fish-rules article { grid-template-columns:1fr 1fr; }
    .competition-fish-rules article > div { grid-column:1/-1; }
    .competition-access-card { grid-template-columns:1fr; gap:13px; }
    .competition-access-actions { grid-column:auto; grid-row:auto; align-items:stretch; }
    .competition-access-actions .button { width:100%; }
    .competition-access-stats { flex-direction:column; gap:6px; }
    .participant-management-link { align-items:flex-start; }
    .pin-gate { grid-template-columns:auto 1fr; padding:22px 18px; }
    .pin-gate form { grid-column:1/-1; }
    .pin-gate input { flex:1; min-width:0; width:auto; }
    .schedule-builder { grid-template-columns:1fr; }
    .schedule-card.field-wide { grid-column:auto; }
    .schedule-pair-grid { grid-template-columns:1fr; }
    .registration-control-card,.registration-control-actions { align-items:stretch; flex-direction:column; }
    .registration-control-actions .button { width:100%; }
    .competition-stat-strip { grid-template-columns:1fr 1fr; }
    .competition-stat-strip > div { padding:11px 13px; }
    .competition-stat-strip > div:nth-child(even) { border-right:0; }
    .competition-stat-strip > div:nth-child(n+3) { border-top:1px solid var(--line); }
    .competition-stat-strip > div:last-child { grid-column:1/-1; }
    .leader-podium { padding:22px 11px 25px; }
    .leader-podium-heading { flex-wrap:wrap; gap:5px 7px; margin-bottom:18px; }
    .leader-podium-heading small { flex-basis:100%; }
    .leader-podium-grid { grid-template-columns:1fr 1.08fr 1fr; gap:6px; padding-top:12px; }
    .leader-podium-card { min-height:166px; border-radius:16px; padding:31px 7px 11px; }
    .leader-podium-card.podium-first { min-height:190px; }
    .podium-place { top:-13px; width:29px; height:29px; border-width:3px; font-size:.76rem; }
    .podium-first .podium-place { width:34px; height:34px; font-size:.88rem; }
    .podium-first .podium-place:before { top:-15px; font-size:14px; }
    .podium-avatar { width:48px; height:48px; border-width:3px; font-size:.84rem; }
    .podium-first .podium-avatar { width:57px; height:57px; }
    .podium-name { margin-top:8px; font-size:.75rem; }
    .podium-subtitle { font-size:.58rem; }
    .podium-score { padding-top:8px; font-size:.92rem; }
    .podium-first .podium-score { font-size:1.04rem; }
    .podium-score em,.podium-biggest { font-size:.53rem; }
    .rich-editor-field.is-ready .rich-editor-surface { min-height:220px; padding:14px; }
    .rich-editor-toolbar { overscroll-behavior-inline:contain; }
    .competition-content-card { padding:20px 18px; }
    .leaderboard { overflow:visible; }
    .leaderboard-head { display:none; }
    .leaderboard-entry .leaderboard-row { grid-template-columns:34px minmax(0,1fr) auto; min-width:0; gap:8px; padding:13px 11px; }
    .leaderboard-entry .leaderboard-row > span:nth-child(3),.leaderboard-entry .leaderboard-row > span:nth-child(4) { display:none; }
    .leaderboard-entry .angler { min-width:0; }
    .leaderboard-entry .angler > span { min-width:0; }
    .leaderboard-entry .angler strong,.leaderboard-entry .angler small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
    .leaderboard-entry .total { align-items:flex-end; min-width:93px; white-space:nowrap; }
    .compact-catch-list { padding-left:0; }
    .compact-catch-summary { align-items:flex-start; flex-direction:column; gap:2px; padding-inline:12px; }
    .compact-catch-list article { grid-template-columns:46px minmax(0,1fr) auto; padding-right:10px; }
    .compact-catch-list img { width:46px; height:44px; }
    .compact-catch-photo { width:46px; height:44px; }
    .compact-catch-placeholder { width:46px; height:44px; }
    .participant-page-summary { grid-template-columns:1fr 1fr; }
    .participant-management-card > header { align-items:flex-start; flex-direction:column; }
    .participant-score { width:100%; border-top:1px solid var(--line); padding-top:10px; text-align:left; }
    .participant-decision-form,.bib-admin-form { align-items:stretch; flex-direction:column; }
    .participant-decision-form input,.bib-admin-form label { width:100%; min-width:0; }
    .participant-management-actions > form:last-child .button { width:100%; }
    .user-search,.user-admin-card > header,.user-admin-actions,.user-admin-actions > form { align-items:stretch; flex-direction:column; }
    .user-stat-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
    .user-admin-actions details form { grid-template-columns:1fr; }
    .profile-page { padding:18px 0 35px; }
    .profile-layout { grid-template-columns:1fr; gap:14px; }
    .profile-summary-card { position:static; padding:22px 18px; }
    .profile-summary-card dl { margin:17px 0 12px; }
    .profile-panel > header { padding:19px 18px; }
    .profile-form { padding:18px; }
    .profile-submit .button { width:100%; }
    .profile-logout { display:block; }
    .profile-logout button { width:100%; border:1px solid #e3a8a2; border-radius:13px; background:#fff6f5; padding:14px; color:#a4261d; font-weight:900; }
}

@media (max-width:600px) {
    .date-time-fields.catch-time-fields {
        grid-template-columns:1fr;
        gap:16px;
    }

    .catch-time-fields .date-time-field > span {
        white-space:nowrap;
    }

    .catch-time-fields .time-24-control {
        min-height:56px;
    }

    .catch-time-fields .time-24-control select {
        min-height:54px;
        padding-right:12px;
        padding-left:12px;
        font-size:1rem;
    }
}

@media (max-width:430px) {
    .system-update-alert { font-size:.72rem; }
    .system-update-alert > b { display:none; }
    .competition-fish-rules article { grid-template-columns:1fr; }
    .competition-fish-rules article > div { grid-column:auto; }
    .date-time-fields { grid-template-columns:1fr 130px; }
    .pin-gate form { flex-direction:column; }
    .participant-identity { align-items:flex-start; }
}

.login-portal-card {
    width: min(100%, 920px);
}

.login-portal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr);
    gap: 38px;
    align-items: stretch;
}

.organizer-portal-promo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 19px;
    background: linear-gradient(145deg, var(--deep), #14534e);
    padding: 30px;
    color: #fff;
}

.organizer-portal-promo .eyebrow {
    margin-top: 18px;
}

.organizer-portal-promo h2 {
    margin: 8px 0 12px;
    font-size: 1.7rem;
}

.organizer-portal-promo p,
.organizer-portal-promo small {
    color: #bed0cc;
}

.organizer-portal-promo small {
    margin-top: 14px;
    font-size: .7rem;
    line-height: 1.5;
}

.portal-icon {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    border-radius: 15px;
    background: var(--mint);
    color: var(--deep);
    font-size: 1.55rem;
    font-weight: 950;
}

.organizer-auth-section {
    background: linear-gradient(140deg, #dfe9df, #f7f7f2);
}

.organizer-auth-card {
    border-top: 5px solid var(--green);
}

.organizer-auth-card .portal-icon {
    margin-bottom: 17px;
}

.organizer-login-back {
    display: inline-flex;
    margin-bottom: 25px;
    color: var(--green);
}

.organizer-account-note {
    margin-top: 22px;
    border-radius: 13px;
    background: #eef4ec;
    padding: 15px 17px;
}

.organizer-account-note p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: .78rem;
}

.organizer-view-notice {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border: 1px solid #8bbeb4;
    border-radius: var(--radius);
    background: #eaf5f0;
    padding: 20px 22px;
}

.organizer-view-notice > div {
    display: flex;
    flex-direction: column;
}

.organizer-view-notice span {
    color: var(--green);
    font-size: .66rem;
    font-weight: 950;
    letter-spacing: .1em;
}

.organizer-view-notice strong {
    margin: 4px 0;
}

.organizer-view-notice small {
    color: var(--muted);
}

.organizer-dashboard-summary,
.organizer-account-summary {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 20px;
}

.organizer-dashboard-summary > div,
.organizer-account-summary > div {
    display: flex;
    min-height: 118px;
    flex-direction: column;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
    padding: 19px;
}

.organizer-dashboard-summary span,
.organizer-account-summary span {
    color: var(--muted);
    font-size: .7rem;
    font-weight: 850;
}

.organizer-dashboard-summary strong,
.organizer-account-summary strong {
    font-size: 2rem;
}

.organizer-dashboard-summary small {
    color: var(--muted);
    font-size: .7rem;
}

.organizer-dashboard-summary .is-live {
    border-color: #8ecbad;
    background: #edf8f1;
}

.organizer-dashboard-summary .needs-action {
    border: 2px solid #e0a43b;
    background: #fff8e8;
}

.organizer-workflow-guide {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-bottom: 38px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 16px;
    background: rgba(255, 255, 255, .13);
}

.organizer-workflow-guide > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 2px 12px;
    background: var(--deep);
    padding: 20px;
    color: #fff;
}

.organizer-workflow-guide span {
    display: grid;
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 50%;
    background: var(--mint);
    color: var(--deep);
    font-size: .72rem;
    font-weight: 950;
}

.organizer-workflow-guide small {
    color: #b9ccc7;
    font-size: .72rem;
    line-height: 1.45;
}

.organizer-list-heading {
    margin-bottom: 17px;
}

.organizer-event-list {
    display: grid;
    gap: 17px;
}

.organizer-event-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 5px 20px rgba(8, 44, 44, .04);
}

.organizer-event-card.needs-attention {
    border-color: #dfba70;
}

.organizer-event-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 22px;
}

.organizer-event-card h2 {
    margin: 9px 0 5px;
    font-size: 1.35rem;
}

.organizer-event-card p {
    margin: 0;
    color: var(--muted);
    font-size: .8rem;
}

.organizer-event-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-block: 1px solid var(--line);
    background: #f7f9f4;
}

.organizer-event-stats span {
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--line);
    padding: 13px 20px;
    color: var(--muted);
    font-size: .68rem;
}

.organizer-event-stats span:last-child {
    border-right: 0;
}

.organizer-event-stats b {
    color: var(--ink);
    font-size: 1.15rem;
}

.organizer-event-stats .attention {
    background: #fff5df;
}

.organizer-event-stats .attention b {
    color: #9a6300;
}

.organizer-event-actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: var(--line);
}

.organizer-event-actions a {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 1px 10px;
    background: #fff;
    padding: 16px;
}

.organizer-event-actions a:hover {
    background: #f1f6ed;
}

.organizer-event-actions a > span {
    display: grid;
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    background: var(--deep);
    color: var(--mint);
}

.organizer-event-actions strong {
    font-size: .76rem;
}

.organizer-event-actions small {
    color: var(--muted);
    font-size: .64rem;
    line-height: 1.35;
}

.organizer-context-nav {
    border-bottom: 1px solid var(--line);
    background: #fff;
}

.organizer-context-nav > .container {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding-block: 9px;
}

.organizer-context-nav a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 7px;
    border-radius: 9px;
    padding: 10px 13px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 850;
}

.organizer-context-nav a.active,
.organizer-context-nav a:hover {
    background: #eaf3e8;
    color: var(--deep);
}

.organizer-account-summary {
    grid-template-columns: repeat(3, 1fr);
}

.organizer-accounts-layout {
    display: grid;
    grid-template-columns: minmax(290px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: 22px;
}

.organizer-create-panel {
    position: sticky;
    top: 94px;
    padding: 24px;
}

.organizer-create-panel > header {
    margin-bottom: 20px;
}

.organizer-create-panel > header span {
    color: var(--green);
    font-size: .65rem;
    font-weight: 950;
    letter-spacing: .1em;
}

.organizer-create-panel h2 {
    margin: 6px 0;
}

.organizer-create-panel p,
.organizer-account-card p {
    margin: 0;
    color: var(--muted);
    font-size: .76rem;
}

.organizer-account-list {
    display: grid;
    gap: 12px;
}

.organizer-account-card {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 15px;
    background: #fff;
}

.organizer-account-card > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
}

.organizer-account-card h3 {
    margin: 7px 0 3px;
}

.organizer-competition-count {
    display: flex;
    min-width: 70px;
    flex-direction: column;
    text-align: right;
}

.organizer-competition-count strong {
    font-size: 1.5rem;
}

.organizer-competition-count span {
    color: var(--muted);
    font-size: .68rem;
}

.organizer-account-card details {
    border-top: 1px solid var(--line);
}

.organizer-account-card summary {
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    background: #f8faf6;
    padding: 13px 20px;
    color: var(--green);
    font-size: .78rem;
    font-weight: 900;
}

.organizer-edit-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 18px 20px;
}

.organizer-edit-form .button {
    grid-column: 1 / -1;
}

.organizer-password-form {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 8px;
    border-top: 1px solid var(--line);
    padding: 18px 20px;
}

.organizer-password-form strong {
    grid-column: 1 / -1;
    font-size: .78rem;
}

@media (max-width: 900px) {
    .login-portal-grid,
    .organizer-accounts-layout {
        grid-template-columns: 1fr;
    }

    .organizer-create-panel {
        position: static;
    }

    .organizer-event-actions {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .login-portal-card {
        padding: 22px 16px;
    }

    .login-portal-grid {
        gap: 25px;
    }

    .organizer-portal-promo {
        padding: 24px 20px;
    }

    .organizer-view-notice,
    .organizer-event-card > header {
        align-items: stretch;
        flex-direction: column;
    }

    .organizer-dashboard-summary,
    .organizer-account-summary,
    .organizer-event-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .organizer-account-summary > div:last-child {
        grid-column: 1 / -1;
    }

    .organizer-workflow-guide {
        grid-template-columns: 1fr;
    }

    .organizer-event-stats span:nth-child(even) {
        border-right: 0;
    }

    .organizer-event-stats span:nth-child(n+3) {
        border-top: 1px solid var(--line);
    }

    .organizer-event-actions {
        grid-template-columns: 1fr;
    }

    .organizer-context-nav > .container {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
        gap: 6px;
        overflow-x: visible;
        padding-inline: 14px;
    }

    .organizer-context-nav a {
        justify-content: center;
        padding-inline: 8px;
        text-align: center;
    }

    .organizer-edit-form,
    .organizer-password-form {
        grid-template-columns: 1fr;
    }

    .organizer-edit-form .button,
    .organizer-password-form strong {
        grid-column: auto;
    }
}

/* Public beta project presentation */
.hero-project-poster {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    max-width: 365px;
    min-width: 0;
    justify-self: center;
    overflow: hidden;
    border: 9px solid rgba(255, 255, 255, .94);
    border-radius: 23px;
    background: #fff;
    color: var(--deep);
    box-shadow: 0 35px 80px rgba(0, 0, 0, .3);
    transform: rotate(1.5deg);
    transition: transform .2s ease, box-shadow .2s ease;
}

.hero-project-poster:hover {
    box-shadow: 0 42px 90px rgba(0, 0, 0, .38);
    transform: rotate(0) translateY(-4px);
}

.hero-project-poster img {
    width: 100%;
    min-width: 0;
    height: auto;
    aspect-ratio: 4 / 5;
    border-radius: 14px 14px 0 0;
    object-fit: cover;
}

.hero-project-poster > span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 12px 7px;
}

.hero-project-poster strong,
.hero-project-poster small {
    display: block;
}

.hero-project-poster strong {
    color: var(--green);
    font-size: .61rem;
    letter-spacing: .08em;
}

.hero-project-poster small {
    font-size: .72rem;
    font-weight: 850;
    text-align: right;
}

.project-beta-strip {
    padding: 46px 0 58px;
}

.project-beta-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(260px, .45fr);
    gap: 42px;
    overflow: hidden;
    border-radius: 26px;
    background: linear-gradient(135deg, var(--deep), #10524c);
    padding: 42px;
    color: #fff;
    box-shadow: 0 24px 60px rgba(8, 44, 44, .16);
}

.project-beta-card::after {
    position: absolute;
    right: -110px;
    bottom: -180px;
    width: 340px;
    height: 340px;
    border: 65px solid rgba(184, 227, 75, .07);
    border-radius: 50%;
    content: "";
}

.project-beta-copy,
.project-beta-action {
    position: relative;
    z-index: 1;
}

.beta-badge {
    display: inline-flex;
    width: max-content;
    align-items: center;
    border: 1px solid rgba(184, 227, 75, .35);
    border-radius: 999px;
    background: rgba(184, 227, 75, .1);
    padding: 8px 12px;
    color: var(--mint);
    font-size: .67rem;
    font-weight: 950;
    letter-spacing: .11em;
}

.project-beta-copy h2 {
    max-width: 760px;
    margin: 20px 0 13px;
    font-size: clamp(1.9rem, 3.3vw, 3rem);
}

.project-beta-copy > p {
    max-width: 780px;
    margin: 0;
    color: #c5d7d2;
}

.project-beta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 24px;
}

.project-beta-tags span {
    border-radius: 999px;
    background: rgba(255, 255, 255, .1);
    padding: 7px 11px;
    color: #e6efec;
    font-size: .72rem;
    font-weight: 800;
}

.project-beta-action {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-direction: column;
    gap: 13px;
    border-left: 1px solid rgba(255, 255, 255, .15);
    padding-left: 36px;
}

.project-beta-action p {
    display: flex;
    flex-direction: column;
    margin: 0;
}

.project-beta-action small,
.project-founder-card > span {
    color: var(--mint);
    font-size: .65rem;
    font-weight: 950;
    letter-spacing: .11em;
}

.project-beta-action strong {
    font-size: 1.55rem;
}

.project-social-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    overflow-wrap: anywhere;
    color: #d6e3df;
    font-size: .8rem;
    font-weight: 800;
}

.project-social-link:hover,
.project-founder-card a:hover,
.footer-links a:hover {
    color: var(--mint);
}

.project-beta-action .button {
    margin-top: 5px;
}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 17px;
    margin-top: 17px;
    color: #9fb3ae;
    font-size: .76rem;
    font-weight: 800;
}

.project-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(130deg, var(--deep), #0d4b46);
    color: #fff;
}

.project-hero::after {
    position: absolute;
    right: -220px;
    top: -310px;
    width: 680px;
    height: 680px;
    border: 120px solid rgba(184, 227, 75, .06);
    border-radius: 50%;
    content: "";
}

.project-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 600px;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: center;
    gap: 80px;
    padding-block: 78px;
}

.project-hero h1 {
    max-width: 820px;
    margin: 27px 0 22px;
    font-size: clamp(2.65rem, 5.4vw, 4.8rem);
}

.project-hero-grid > div > p {
    max-width: 710px;
    color: #c3d5d0;
    font-size: 1.14rem;
}

.project-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 33px;
}

.project-founder-card {
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 24px;
    background: rgba(255, 255, 255, .08);
    padding: 31px;
    box-shadow: 0 28px 65px rgba(0, 0, 0, .2);
    backdrop-filter: blur(10px);
}

.project-founder-card strong {
    display: block;
    margin: 10px 0 18px;
    color: #fff;
    font-size: 2.25rem;
}

.project-founder-card p {
    color: #c8d8d4;
}

.project-founder-card a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    overflow-wrap: anywhere;
    color: #fff;
    font-size: .85rem;
    font-weight: 850;
}

.project-page-section {
    padding: 86px 0;
}

.project-intro-section {
    background: #fff;
}

.project-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 85px;
}

.project-intro-grid h2 {
    margin-bottom: 0;
    font-size: clamp(2rem, 3.5vw, 3.1rem);
}

.project-intro-copy {
    border-left: 3px solid var(--mint);
    padding-left: 32px;
    color: var(--muted);
    font-size: 1.03rem;
}

.project-intro-copy p:last-child {
    margin-bottom: 0;
}

.project-capabilities {
    background: var(--paper);
}

.project-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.project-feature-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    padding: 29px;
    box-shadow: 0 7px 24px rgba(8, 44, 44, .045);
}

.project-feature-card::after {
    position: absolute;
    right: -25px;
    top: -25px;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: rgba(184, 227, 75, .11);
    content: "";
}

.project-feature-number {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: var(--deep);
    color: var(--mint);
    font-size: .7rem;
    font-weight: 950;
}

.project-feature-card h3 {
    margin: 24px 0 16px;
    font-size: 1.34rem;
}

.project-feature-card ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.project-feature-card li {
    position: relative;
    padding-left: 18px;
    color: var(--muted);
    font-size: .83rem;
}

.project-feature-card li::before {
    position: absolute;
    left: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--green);
    content: "";
}

.project-collaboration {
    background: var(--deep);
    color: #fff;
}

.project-collaboration-head {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: end;
    gap: 75px;
}

.project-collaboration-head h2 {
    margin-bottom: 0;
}

.project-collaboration-head > p {
    margin-bottom: 0;
    color: #b9ccc7;
}

.project-help-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 43px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 19px;
    background: rgba(255, 255, 255, .14);
}

.project-help-grid article {
    background: var(--deep);
    padding: 29px;
}

.project-help-grid span {
    display: grid;
    width: 35px;
    height: 35px;
    place-items: center;
    border-radius: 50%;
    background: var(--mint);
    color: var(--deep);
    font-size: .75rem;
    font-weight: 950;
}

.project-help-grid h3 {
    margin: 25px 0 10px;
}

.project-help-grid p {
    margin: 0;
    color: #b9ccc7;
    font-size: .85rem;
}

.project-collaboration-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-top: 28px;
}

.release-timeline {
    position: relative;
    display: grid;
    gap: 12px;
    max-width: 960px;
}

.release-card {
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 26px;
    border: 1px solid var(--line);
    border-radius: 17px;
    background: #fff;
    padding: 25px;
}

.release-card > div:first-child {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
}

.release-card > div:first-child span {
    color: var(--green);
    font-size: 1.4rem;
    font-weight: 950;
}

.release-card > div:first-child b {
    border-radius: 999px;
    background: var(--mint);
    padding: 4px 8px;
    color: var(--deep);
    font-size: .57rem;
    letter-spacing: .08em;
}

.release-card h3 {
    margin: 0 0 8px;
}

.release-card p {
    margin: 0;
    color: var(--muted);
    font-size: .88rem;
}

.release-current {
    border-color: rgba(15, 118, 110, .45);
    box-shadow: inset 4px 0 var(--green), 0 12px 30px rgba(8, 44, 44, .07);
}

.project-poster-callout {
    padding: 78px 0;
    background: #e8eee5;
}

.project-poster-callout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
    align-items: center;
    gap: 80px;
}

.project-poster-callout-grid > div > p {
    max-width: 650px;
    color: var(--muted);
}

.project-poster-preview {
    box-sizing: border-box;
    min-width: 0;
    display: block;
    width: min(100%, 360px);
    margin-left: auto;
    overflow: hidden;
    border: 10px solid #fff;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 50px rgba(8, 44, 44, .18);
    transform: rotate(2deg);
    transition: .2s ease;
}

.project-poster-preview:hover {
    transform: rotate(0) translateY(-3px);
}

@media (max-width: 980px) {
    .hero-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .hero-copy {
        min-width: 0;
    }

    .hero-project-poster {
        max-width: 380px;
        justify-self: start;
    }

    .project-beta-card,
    .project-hero-grid,
    .project-intro-grid,
    .project-collaboration-head,
    .project-poster-callout-grid {
        grid-template-columns: 1fr;
    }

    .project-beta-action {
        border-top: 1px solid rgba(255, 255, 255, .15);
        border-left: 0;
        padding-top: 27px;
        padding-left: 0;
    }

    .project-hero-grid {
        gap: 40px;
    }

    .project-founder-card {
        max-width: 650px;
    }

    .project-intro-grid,
    .project-collaboration-head,
    .project-poster-callout-grid {
        gap: 35px;
    }

    .project-feature-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-poster-preview {
        width: min(100%, 310px);
        margin: 10px auto 0;
        transform: none;
    }
}

@media (max-width: 760px) {
    .hero-project-poster {
        width: calc(100vw - 28px);
        max-width: 340px;
        justify-self: center;
        border-width: 7px;
        border-radius: 19px;
        transform: none;
    }

    .hero-project-poster img {
        border-radius: 11px 11px 0 0;
    }

    .project-beta-strip {
        padding: 28px 0 42px;
    }

    .project-beta-card {
        gap: 26px;
        border-radius: 20px;
        padding: 27px 22px;
    }

    .project-beta-copy h2 {
        font-size: 1.75rem;
    }

    .beta-badge {
        white-space: normal;
    }

    .project-beta-action .button,
    .project-hero-actions .button,
    .project-collaboration-actions .button {
        width: 100%;
    }

    .project-hero-grid {
        min-height: auto;
        padding-block: 55px;
    }

    .project-hero h1 {
        margin-top: 22px;
        font-size: 2.55rem;
    }

    .project-hero-grid > div > p {
        font-size: 1rem;
    }

    .project-founder-card {
        padding: 24px;
    }

    .project-page-section,
    .project-poster-callout {
        padding: 57px 0;
    }

    .project-intro-copy {
        padding-left: 22px;
    }

    .project-feature-grid,
    .project-help-grid {
        grid-template-columns: 1fr;
    }

    .project-feature-card {
        padding: 24px;
    }

    .release-card {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 21px;
    }

    .release-card > div:first-child {
        flex-direction: row;
        align-items: center;
    }

    .project-poster-callout .button-row {
        align-items: stretch;
        flex-direction: column;
    }

    .footer-links {
        margin-top: 14px;
    }
}

@media (max-width: 430px) {
    .event-countdown {
        margin-right: 14px;
        margin-left: 14px;
        padding-right: 9px;
        padding-left: 9px;
    }

    .event-countdown-clock {
        gap: 4px;
    }

    .event-countdown-compact {
        margin-right: 0;
        margin-left: 0;
    }

    .project-hero h1 {
        font-size: 2.22rem;
    }

    .project-beta-tags {
        display: grid;
    }
}

/* 4.18 stabilization: compact review queues and tablet navigation. */
[hidden] { display: none !important; }
.quick-drawer, .overview-drawer, .advanced-rules { margin: 0 0 16px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.quick-drawer > summary, .overview-drawer > summary, .advanced-rules > summary { cursor: pointer; padding: 15px 18px; min-height: 48px; font-weight: 800; color: var(--deep); }
.quick-drawer > summary span { display: block; padding-top: 3px; font-size: .75rem; font-weight: 500; color: var(--muted); }
.quick-drawer > p { padding: 0 18px; }
.quick-drawer .competition-quick-menu { border: 0; margin: 0; }
.quick-drawer .remote-quick { padding: 0 16px 16px; }
.overview-drawer .summary-grid { padding: 0 14px; margin-bottom: 12px; }
.overview-drawer .participant-management-link { margin: 14px; }
.advanced-rules > .competition-fish-rules { padding: 0 16px 16px; }
.quick-visibility-warning { font-weight: 800; color: #9f3a20 !important; }
.review-filters { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; }
.review-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: .82rem; font-weight: 750; }
.review-filters a.active { background: var(--deep); color: #fff; border-color: var(--deep); }
.review-heading h2 { font-size: 1.25rem; }
.evidence-chip { display: inline-block; border-radius: 8px; background: #eef3ef; color: #536862; padding: 5px 8px; font-size: .75rem; margin: 3px 3px 3px 0; }
.work-head.page-head { padding: 22px 0; }
.work-head h1 { font-size: clamp(1.35rem, 2.2vw, 2rem); margin: 8px 0; overflow-wrap: anywhere; }
.work-head p { margin: 6px 0 12px; }
.work-head .back-link { margin-bottom: 10px; }
.work-section.section { padding: 18px 0 60px; }
.work-section .remote-stack { gap: 14px; }
.browser-notification-wrap { margin-top: 10px; margin-bottom: 10px; }
.browser-notification-control button { padding: 10px 14px; }
.browser-notification-control small { font-size: .72rem; }
.browser-notification-icon { width: 32px; height: 32px; }
.result-refresh { position: sticky; top: 0; z-index: 101; flex-wrap: wrap; margin: 8px 14px; }
.review-column, #review-queue { scroll-margin-top: 90px; }
@media (max-width: 1200px) {
 body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
 .desktop-nav { display: none; }
 .header-inner { height: 65px; }
 .site-header { position: relative; }
 .mobile-language-switch { display: inline-flex !important; }
 .mobile-nav { position: fixed; z-index: 99; right: 0; bottom: 0; left: 0; display: flex; min-height: 67px; height: calc(67px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid var(--line); background: rgba(255,255,255,.98); box-shadow: 0 -8px 25px rgba(8,44,44,.08); }
 .mobile-nav a { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: center; justify-content: center; color: #71807c; font-size: .62rem; font-weight: 800; }
 .mobile-nav a > span:first-child { font-size: 1.2rem; line-height: 1.1; }
 .mobile-nav a.active { color: var(--green); }
}
@media (max-width: 980px) { .admin-rank { order: 2; } }
@media (max-width: 760px) {
 .work-head.page-head { padding: 16px 0; }
 .work-head .eyebrow { font-size: .64rem; }
 .work-head .button { min-height: 40px; padding: 9px 15px; }
 .work-head p { font-size: .8rem; }
 .browser-notification-control small { display: none; }
 .browser-notification-control strong { font-size: .78rem; }
 .review-heading { padding: 14px; }
 .review-heading p { margin: 6px 0; font-size: .78rem; }
 .review-column .compact-heading h2 { font-size: 1.35rem; }
 .review-column .compact-heading p { font-size: .8rem; }
 .critical-alert { padding: 10px 14px; margin-bottom: 10px; font-size: .8rem; }
 .critical-alert span { font-size: .72rem; }
 .review-filters a { flex: 1 1 auto; justify-content: center; padding: 8px; font-size: .75rem; }
}
.browser-notification-control > button { display: flex; align-items: center; gap: 10px; min-height: 48px; }
.browser-notification-control > button > span:nth-child(2) { flex: 1; min-width: 0; }
.browser-notification-control > button > b { flex: 0 0 auto; }
@media (max-width: 760px) {
 .work-section .remote-stage { padding: 10px; min-height: 100px; gap: 4px; }
 .work-section .remote-stage b { font-size: .8rem; }
 .work-section .remote-stage small, .work-section .remote-stage > span { font-size: .7rem; }
 .work-section .remote-stages { margin-block: 0; }
 .review-heading .remote-hint { margin: 5px 0; }
 .quick-drawer > summary, .overview-drawer > summary { padding: 12px 14px; }
}
.dashboard-create-actions { margin-bottom: 22px; }
.dashboard-create-actions .button { padding-block: 10px; line-height: 1.4; text-align: center; }
/* Shared creation layout follows the remote tournament panel design. */
.event-dashboard-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,430px); gap: 32px; align-items: center; }
.event-create-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; width: 100%; }
.event-create-actions .button { min-height: 54px; padding: 12px 16px; line-height: 1.4; text-align: center; }
.event-create-actions .button > span { flex: 0 0 auto; }
.page-head.event-editor-head { padding: 32px 0; }
.event-editor-head h1 { font-size: clamp(2rem,3.2vw,3rem); line-height: 1.15; margin: 10px 0 14px; overflow-wrap: anywhere; }
.event-editor-head p { max-width: 800px; margin: 0; }
.section.event-editor-section { padding: 32px 0 64px; }
.event-type-switch { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 24px; }
.event-type-switch a { display: flex; flex-direction: column; justify-content: center; gap: 5px; min-height: 88px; border: 1px solid var(--line); border-radius: 18px; padding: 16px 20px; background: #fff; }
.event-type-switch strong { font-size: 1rem; line-height: 1.35; }
.event-type-switch span { color: var(--muted); font-size: .8rem; }
.event-type-switch [aria-current="page"] { border-color: var(--green); background: #eaf3ed; box-shadow: inset 0 0 0 1px var(--green); color: var(--green); }
.event-type-switch a:hover { border-color: var(--green); }
.event-type-switch a:focus-visible, .event-editor-actions a:focus-visible, .event-create-actions a:focus-visible { outline: 3px solid #75a64d; outline-offset: 3px; }
.event-editor .remote-panel .eyebrow { color: var(--green); }
.event-editor .form-grid { gap: 22px; align-items: start; }
.event-editor .form-grid label { margin: 0; }
.event-editor .remote-panel label small { font-size: .78rem; font-weight: 400; color: var(--muted); }
.event-editor .remote-panel input[type="file"] { padding: 12px; font-weight: 400; }
.event-editor .rich-editor-toolbar .rich-color-control { display: inline-flex; }
.event-editor .rich-color-control input[type="color"] { width: 1px; min-height: 1px; height: 1px; }
.event-editor .rich-editor-field.is-ready .rich-editor-surface { min-height: 160px; }
.event-editor .check-card { display: flex; align-items: flex-start; gap: 12px; padding: 18px; }
.event-editor .check-card > input { width: 21px; height: 21px; flex: 0 0 auto; margin-top: 2px; }
.event-editor .check-card small { display: block; margin-top: 6px; line-height: 1.6; }
.event-editor .advanced-rules { margin-bottom: 0; }
.event-editor .advanced-rules > summary { padding: 14px 16px; }
.event-editor .competition-fish-rules label { margin: 0; }
.event-editor-actions { display: flex; justify-content: flex-end; align-items: center; gap: 24px; padding-top: 4px; }
.event-editor-actions > a { display: inline-flex; align-items: center; min-height: 48px; font-weight: 700; color: var(--muted); }
.event-editor-actions .button { padding: 12px 24px; line-height: 1.4; text-align: center; }
@media (max-width: 1000px) {
 .event-dashboard-heading { grid-template-columns: 1fr; gap: 16px; }
 .event-create-actions { max-width: 520px; }
}
@media (max-width: 600px) {
 .event-create-actions { grid-template-columns: 1fr; gap: 10px; }
 .event-create-actions .button { min-height: 48px; }
 .page-head.event-editor-head { padding: 24px 0; }
 .event-editor-head h1 { font-size: 1.9rem; }
 .event-editor-head p { font-size: .9rem; }
 .section.event-editor-section { padding-top: 20px; }
 .event-type-switch { gap: 8px; margin-bottom: 20px; }
 .event-type-switch a { padding: 12px; min-height: 66px; }
 .event-type-switch strong { font-size: .85rem; }
 .event-type-switch span { display: none; }
 .event-editor .form-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
 .event-editor .competition-fish-rules article { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .event-editor .competition-fish-rules article > div { grid-column: 1 / -1; }
 .event-editor-actions { flex-direction: column-reverse; align-items: stretch; gap: 8px; }
 .event-editor-actions > a { justify-content: center; }
}
/* Tournament management reuses the on-site competition design system. */
.tournament-manager-card > header > div { min-width: 0; }
.tournament-manager-card > header > .button { flex-shrink: 0; }
.tournament-manager-card .remote-chips { margin: 0; }
.tournament-manager-card .tournament-next-stage { margin-top: 14px; font-weight: 800; color: var(--deep); }
.tournament-manager-card .tournament-quick-drawer { margin: 16px 20px; }
.tournament-quick-drawer { overflow: hidden; }
.tournament-quick-drawer > summary { background: #f4f8f1; }
.tournament-quick-drawer[open] > summary { border-bottom: 1px solid var(--line); }
.tournament-quick-drawer .quick-control-copy p { font-size: .78rem; line-height: 1.55; }
.tournament-quick-drawer .quick-control-copy small { font-size: .74rem; }
.tournament-quick-drawer .quick-control-actions .button { min-height: 44px; }
.tournament-workspace .remote-stack { gap: 22px; }
.tournament-workspace .quick-drawer { margin: 0; }
.tournament-summary { margin: 0; }
.tournament-summary > a { display: flex; flex-direction: column; gap: 5px; background: #fff; padding: 20px; border: 1px solid var(--line); border-radius: 16px; color: var(--deep); }
.tournament-summary > a strong { font-size: 2rem; line-height: 1.2; }
.tournament-summary > a span { font-size: .8rem; font-weight: 800; }
.tournament-summary > a small { color: var(--muted); font-size: .7rem; }
.tournament-summary > a.needs-action { background: #fff5ed; border-color: #e9bfa0; }
.tournament-summary > a.needs-action strong { color: #b33424; }
.tournament-summary > a:hover { border-color: var(--green); }
.tournament-context-nav .nav-alert-badge { flex-shrink: 0; }
.tournament-stage-picker { min-width: 0; }
.tournament-stage-picker .remote-heading { margin-bottom: 12px; }
.tournament-stage-picker .eyebrow { color: var(--green); }
.tournament-stage-picker h2 { font-size: 1.45rem; margin: 5px 0 0; }
.tournament-stage-picker .remote-stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; overflow: visible; padding: 0; }
.tournament-stage-picker .remote-stage { min-width: 0; padding: 20px; border-radius: 17px; gap: 14px; box-shadow: 0 5px 20px #082c2c08; }
.tournament-stage-top { display: flex; align-items: center; gap: 12px; }
.tournament-stage-top > b:last-child { font-size: .95rem; color: var(--deep); }
.tournament-stage-number { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 12px; background: #eaf2e7; color: var(--green); font-size: 1.1rem; }
.remote-stage.is-active .tournament-stage-number { background: var(--mint); color: var(--deep); }
.remote-stage.is-active .tournament-stage-top > b:last-child { color: #fff; }
.tournament-stage-dates { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border-top: 1px solid #b6c7ba66; padding-top: 12px; }
.tournament-stage-dates > span { display: block; font-size: .65rem; }
.tournament-stage-dates b { display: block; margin-top: 4px; font-size: .78rem; font-variant-numeric: tabular-nums; }
.tournament-stage-panel { border-top: 4px solid var(--green); }
.tournament-stage-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,360px); gap: 24px; align-items: center; }
.tournament-stage-heading h2 { margin: 8px 0 12px; }
.tournament-stage-heading .eyebrow { color: var(--green); }
.tournament-stage-heading p { font-size: .82rem; color: var(--muted); }
.tournament-stage-heading small { display: block; }
.tournament-stage-heading .event-countdown { width: 100%; max-width: 100%; margin: 0; }
.tournament-checklist { padding: 15px 18px 15px 34px; border-radius: 12px; background: #f5f7f2; color: var(--muted); font-size: .8rem; line-height: 1.6; margin-bottom: 0; }
.tournament-checklist li + li { margin-top: 5px; }
.tournament-format-label { display: inline-block; margin: 0 0 0 12px; color: var(--mint); font-size: .75rem; font-weight: 800; }
.tournament-hero h1 { overflow-wrap: anywhere; }
.tournament-hero .button-row { margin-top: 24px; }
.tournament-public { padding-top: 30px; }
.tournament-public .remote-two-col { grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: start; }
.tournament-public .tournament-stage-heading { grid-template-columns: 1fr; gap: 14px; }
.tournament-public .tournament-stage-heading .event-countdown { max-width: 420px; }
.tournament-public [id] { scroll-margin-top: 100px; }
.tournament-participation { background: #f0f6ec; border-color: #c5d7bd; }
.tournament-podium { margin: 20px 0; border-radius: 18px; }
.tournament-podium .podium-name { color: var(--deep); overflow-wrap: anywhere; }
.tournament-podium .podium-score { white-space: normal; overflow-wrap: anywhere; }
.tournament-scoring-help { color: var(--muted); }
.tournament-rank { display: inline-grid; place-items: center; min-width: 32px; height: 32px; background: #e6f0e0; border-radius: 10px; color: var(--green); }
.remote-member .remote-avatar { color: var(--deep); }
.tournament-workspace :focus-visible,.tournament-manager-card :focus-visible,.tournament-public :focus-visible { outline: 3px solid #75a64d; outline-offset: 3px; }
@media(max-width:1000px) {
 .tournament-public .remote-two-col { grid-template-columns: 1fr; }
 .tournament-stage-picker .remote-stages { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .tournament-stage-picker .remote-stages { display: flex; overflow-x: auto; gap: 10px; padding-bottom: 10px; }
 .tournament-stage-picker .remote-stage { flex: 0 0 min(280px,88%); padding: 16px; }
 .tournament-stage-heading { grid-template-columns: 1fr; gap: 12px; }
 .tournament-manager-card .tournament-quick-drawer { margin: 12px; }
 .tournament-summary > a { padding: 14px; }
 .tournament-summary > a strong { font-size: 1.55rem; }
 .tournament-summary > a small { font-size: .65rem; }
 .tournament-quick-drawer .quick-control-tile { grid-template-columns: auto minmax(0,1fr); }
 .tournament-quick-drawer .quick-state-pill { grid-column: 2; justify-self: start; }
 .tournament-quick-drawer .quick-control-actions { grid-column: 1 / -1; }
 .tournament-quick-drawer .quick-control-actions .button { width: 100%; }
 .tournament-format-label { display: block; margin: 12px 0 0; }
 .tournament-hero .button-row { flex-direction: column; align-items: stretch; }
 .tournament-context-nav > .container { flex-wrap: wrap; overflow: visible; }
 .tournament-context-nav a { flex: 1 1 40%; min-width: 0; white-space: normal; }
 .tournament-context-nav a:last-child { flex-grow: 0; flex-basis: auto; }
 .tournament-workspace .heading-actions,.tournament-public .remote-heading { min-width: 0; }
}
.tournament-public .remote-stack > *, .tournament-workspace .remote-stack > * { min-width: 0; }
.tournament-stage-picker .remote-stage > span { min-width: 0; }

/* Age divisions share the existing mobile-first form and result panels. */
.age-info {display:flex;align-items:flex-start;gap:16px;padding:22px;background:#eef5ed;border:1px solid #d5e2d3;border-radius:18px;margin-bottom:22px}
.age-info p {margin:6px 0 10px;line-height:1.6}
.age-info small {display:block;color:#52665f;line-height:1.6}
.age-badge {display:inline-flex;align-items:center;max-width:100%;padding:6px 10px;border-radius:999px;background:#e2efdc;color:#214b37;font-size:12px;font-weight:800;line-height:1.4}
.age-info > .age-badge {flex-shrink:0}
.participant-identity .age-badge + small, .remote-member-manage .age-badge + small {display:block;margin:6px 0;color:#52665f}
.age-setting {margin:12px 0}
.age-setting .check-card {width:100%}
.age-division-switch {margin:12px 0 20px}
.leaderboard-panel > .age-division-switch {padding:0 20px}
.age-division-switch nav {display:flex;flex-wrap:wrap;gap:8px}
.age-division-switch a {display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid #cbd9ce;border-radius:12px;text-decoration:none;color:#204637;font-weight:800}
.age-division-switch a.active {color:#fff;background:#0b3732;border-color:#0b3732}
.age-division-switch small {display:block;margin-top:8px;color:#52665f}
.birth-date-field {min-width:0}
.birth-date-field input {min-width:0;max-width:100%;min-height:48px;box-sizing:border-box}
.birth-date-field input:disabled {opacity:1;color:#52665f;background:#f1f4ef}
@media(max-width:480px) {.age-info{flex-direction:column;padding:18px;gap:10px}.age-division-switch nav a{flex:1;padding:10px;font-size:13px}}

/* One event editor: structure and venue are separate, thumb-friendly choices. */
.event-rule-fields{border:0;padding:0;margin:0;min-width:0;display:grid;gap:20px}
.event-choice-group,.event-fish-picker{border:0;padding:0;margin:0;min-width:0}
.event-choice-group legend,.event-fish-picker legend{font-size:1.05rem;font-weight:800;margin-bottom:12px}
.event-choice-grid,.event-fish-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.event-editor .event-choice{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line,#d8e0d7);border-radius:16px;background:#fafbf8;cursor:pointer;margin:0;min-width:0}
.event-choice:has(input:checked){border-color:#16857d;box-shadow:inset 0 0 0 1px #16857d;background:#eaf4ee}
.event-choice input[type=radio]{width:20px;height:20px;flex:0 0 20px;margin:3px 0;accent-color:#0f7770}
.event-choice span{display:grid;gap:5px;min-width:0}.event-choice small{font-size:.83rem;line-height:1.5;color:#62756e}
.event-rule-fields:disabled{opacity:.8}.event-rule-fields:disabled .event-choice{cursor:default}
.event-fish-picker{margin-top:10px}.event-fish-option{border:1px solid #dbe3d9;border-radius:16px;padding:16px;min-width:0;background:#fafbf8}
.event-fish-option.is-selected{border-color:#269184;background:#f0f7f1}
.event-fish-option .check-row{margin:0;align-items:flex-start}.event-fish-option .check-row span{display:grid;gap:3px}.event-fish-option details{margin-top:14px}.event-fish-option summary{font-size:.8rem;cursor:pointer;color:#106d67}
.event-fish-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.event-fish-limits input{width:100%;min-width:0}
.event-editor .remote-dates{margin-top:20px}.event-mode-chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.event-mode-chips span{font-size:.75rem;line-height:1.4;padding:6px 10px;border-radius:999px;background:#e9f1e6;color:#155b53;font-weight:800}
.event-shared-poster{display:block;max-width:100%;width:100%;max-height:600px;object-fit:contain;border-radius:20px;background:#eaf0e4}
@media(max-width:600px){.event-choice-grid,.event-fish-grid{grid-template-columns:1fr}.event-editor .event-choice{padding:15px}.event-fish-option{padding:14px}}
.event-series-prizes{margin-top:24px}.event-series-prizes article{padding:20px;border:1px solid #d9e5ce;border-radius:16px;background:#f3f7ed}.event-series-prizes small{display:block;margin-top:8px;color:#536b63}.event-prize-place{background:#f5f8ed}
.event-mode-label { display: inline-block; margin: 0 .5rem .5rem 0; color: #176e68; font-size: .78rem; font-weight: 750; }

/* Shared event and stage schedule: label, then aligned date / time controls. */
.event-date-card{min-width:0;padding:20px;background:#f4f7f1;border:1px solid #dce3dc;border-radius:18px}
.event-date-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;margin-bottom:18px}
.event-date-heading strong{font-size:1rem;line-height:1.4}.event-date-heading small{font-size:.72rem;font-weight:700;color:#526964}
.event-date-fields{display:grid;grid-template-columns:minmax(0,1fr) 148px;align-items:start;gap:14px;min-width:0}
.event-date-fields>label,.event-time-field{display:grid;gap:8px;margin:0;min-width:0;align-content:start}
.event-date-fields>label>span,.event-field-label{font-size:14px;font-weight:700;line-height:21px;margin:0}
.event-schedule .event-date-fields input[type=date]{height:50px;min-height:50px;margin:0;padding:10px 12px;box-sizing:border-box;font-variant-numeric:tabular-nums}
.event-schedule .time-24-control{height:50px;min-height:50px;margin:0;align-self:auto;box-sizing:border-box}
.event-schedule .time-24-control select{height:48px;min-height:0;font-size:16px;font-variant-numeric:tabular-nums}
.event-editor .event-scoring-picker{margin:8px 0 0;padding:20px 0;border-top:1px solid #dce3dc;border-bottom:1px solid #dce3dc}
.event-top-settings,.event-general-limit-fields{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:18px;align-items:center;margin-top:18px}
.event-top-settings .remote-hint,.event-general-limit-fields .remote-hint{margin:0}
.event-editor .event-scoring-note{margin:12px 0 0;font-size:.85rem;line-height:1.6}
.event-editor .event-general-limits{margin:20px 0 0;border:1px solid #dce3dc;border-radius:16px;padding:0 18px;background:#f8faf6}
.event-general-limits summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 18px;list-style:none;min-height:60px}
.event-general-limits summary::-webkit-details-marker{display:none}
.event-general-limits summary>span::before{content:'+';display:inline-block;width:24px;font-size:20px;color:#11766c;vertical-align:middle}
.event-general-limits[open] summary>span::before{content:'−'}
.event-general-limits summary>small{font-size:.78rem;color:#526964;font-weight:400}
.event-general-limits[open]{padding-bottom:18px}.event-general-limits[open] summary{border-bottom:1px solid #dce3dc}
.event-general-limits>p:last-child{margin:14px 0 0;font-size:.83rem}
@media(max-width:600px){
 .event-date-card{padding:16px}.event-date-heading{margin-bottom:16px}
 .event-date-fields{grid-template-columns:minmax(0,1fr);gap:16px}
 .event-top-settings,.event-general-limit-fields{grid-template-columns:minmax(0,1fr);gap:12px}
 .event-general-limits summary{align-items:flex-start;flex-direction:column;justify-content:center;padding:14px 0}
 .event-general-limits summary>small{padding-left:24px}
}

/* Shared public organizer card: independent from result/PIN visibility. */
.event-contact-wrap { padding-top:24px; }
.event-organizer-shortcut { display:inline-flex; align-items:center; gap:12px; max-width:100%; min-height:44px; margin-top:10px; color:#e7f2e6; font-size:.82rem; line-height:1.5; text-decoration:underline; text-underline-offset:4px; }
.event-organizer-shortcut>span { min-width:0; overflow-wrap:anywhere; }
.event-organizer-shortcut>b { flex:none; }
.event-organizer-shortcut:hover { color:#c9ef71; }
.event-organizer-shortcut:focus-visible { outline:2px solid #c9ef71; outline-offset:4px; border-radius:4px; }
.organizer-contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,1fr); gap:16px 28px; border:1px solid #cfddd5; border-radius:20px; background:#fff; padding:24px; scroll-margin-top:100px; }
.organizer-contact-identity { display:flex; align-items:center; gap:16px; min-width:0; }
.organizer-contact-identity>div { min-width:0; }
.organizer-contact-avatar { display:grid; flex:none; width:58px; height:58px; place-items:center; border-radius:18px; background:#e9f1df; color:#16473a; font-size:1.25rem; font-weight:900; }
.organizer-contact-eyebrow { color:#247164; font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.organizer-contact h2 { margin:5px 0 7px; font-size:1.35rem; line-height:1.25; overflow-wrap:anywhere; }
.organizer-contact-identity p { margin:0; color:#596c66; font-size:.82rem; line-height:1.5; }
.organizer-contact-methods { grid-column:2; grid-row:1 / span 3; display:grid; align-content:center; gap:8px; min-width:0; }
.organizer-contact-method { display:flex; align-items:center; gap:12px; min-height:62px; padding:12px 14px; border:1px solid #d8e4dd; border-radius:12px; background:#f4f7f2; color:#103b32; }
.organizer-contact-method>span:first-child { display:grid; flex:none; width:32px; height:32px; place-items:center; color:#237c69; font-size:1.3rem; }
.organizer-contact-method>span:nth-child(2) { flex:1; min-width:0; display:grid; gap:3px; }
.organizer-contact-method small { color:#5b7167; font-size:.7rem; }
.organizer-contact-method strong { font-size:.88rem; line-height:1.4; overflow-wrap:anywhere; }
.organizer-contact-method>b { flex:none; font-size:1.1rem; }
.organizer-contact-method:hover { border-color:#187d68; background:#edf5e8; }
.organizer-contact a:focus-visible { outline:3px solid #187d68; outline-offset:3px; }
.organizer-contact-bio { grid-column:1; margin:0; white-space:pre-line; overflow-wrap:anywhere; color:#465f54; font-size:.85rem; line-height:1.6; }
.organizer-contact-edit { grid-column:1; width:fit-content; display:inline-flex; align-items:center; min-height:44px; color:#176654; font-size:.78rem; font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.organizer-contact-empty { margin:0; color:#65736c; font-size:.84rem; }
.organizer-contact-settings { scroll-margin-top:95px; }
.organizer-contact-settings .organizer-contact-privacy { margin:0; border-radius:12px; background:#edf3e9; padding:14px 16px; color:#415d4e; font-size:.82rem; line-height:1.6; }
.organizer-contact-settings .profile-form { min-width:0; }
.organizer-contact-settings textarea { resize:vertical; }
.organizer-contact-settings header h2 { overflow-wrap:anywhere; }
.event-contact-hint { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; margin:0 0 18px; padding:14px 18px; border:1px solid #d4e0d4; border-radius:12px; background:#eef4e9; color:#425c4e; font-size:.8rem; }
.event-contact-hint a { display:inline-flex; align-items:center; min-height:44px; font-weight:800; color:#176654; text-decoration:underline; }
@media(max-width:760px) {
 .organizer-contact { grid-template-columns:minmax(0,1fr); padding:20px; gap:14px; border-radius:16px; }
 .organizer-contact-methods { grid-column:1; grid-row:auto; }
 .organizer-contact-avatar { width:48px; height:48px; border-radius:14px; }
 .organizer-contact h2 { font-size:1.2rem; }
 .organizer-contact-identity { align-items:flex-start; gap:12px; }
 .organizer-contact-edit { width:100%; }
 .event-contact-wrap { padding-top:18px; }
 .event-contact-hint { align-items:flex-start; flex-direction:column; }
}
/* The opt-in demo guide uses the same cards as the organizer workspace. */
.demo-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}
.demo-scenario-card{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px solid var(--line,#d9e2da);border-radius:18px;background:var(--surface,#fff);min-width:0}
.demo-scenario-card h3,.demo-scenario-card p{margin:0}.demo-scenario-card p{font-size:14px;line-height:1.65;color:var(--muted,#607572)}
.demo-scenario-card .button-row{margin-top:auto;padding-top:12px;flex-wrap:wrap}.demo-scenario-card .button{font-size:12px;padding:12px 16px}
.demo-scenario-card summary,.demo-login-guide summary{cursor:pointer;font-weight:800;padding:12px 0;min-height:44px}
.demo-login-guide{margin-top:24px;border-top:1px solid var(--line,#d9e2da);padding-top:12px;overflow-wrap:anywhere}
.demo-login-guide dl{display:grid;gap:14px}.demo-login-guide dt{font-weight:800}.demo-login-guide dd{margin:4px 0 0;font-size:14px}
#demo-experience{scroll-margin-top:100px}
@media(max-width:700px){.demo-scenario-grid{grid-template-columns:1fr}.demo-scenario-card{padding:18px}.demo-scenario-card .button-row{flex-direction:column;align-items:stretch}}
/* Keep catch counts and the score on separate rows on narrow phones. */
@media(max-width:480px){
    .leaderboard-entry .leaderboard-row{grid-template-columns:28px minmax(0,1fr);row-gap:8px}
    .leaderboard-entry .angler{grid-column:2;grid-row:1}
    .leaderboard-entry .angler .bib{flex-shrink:0}
    .leaderboard-entry .angler strong,.leaderboard-entry .angler small{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
    .leaderboard-entry .angler small{width:fit-content}
    .leaderboard-entry .total{grid-column:2;grid-row:2;min-width:0;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:9px 18px 0 0;border-top:1px solid var(--line);white-space:normal}
}
.kibimas-wordmark { display:inline; white-space:nowrap; }
.kibimas-wordmark .brand-domain { display:inline; font-size:.7em; font-weight:700; letter-spacing:0; text-transform:none; }
