body{background:#eef5ff}
.app-shell{width:100%;max-width:1680px;margin-left:auto;margin-right:auto}
.navbar-brand{font-weight:700}
.card{box-shadow:0 6px 22px rgba(15,23,42,.08);border:0}
.score-badge{font-weight:700}
.table input[type=number]{max-width:5rem}
.muted{color:#64748b}
.hero{background:linear-gradient(135deg,#0ea5e9,#1e3a8a);color:white;border-radius:1rem;padding:2rem}
.pill{border-radius:999px;padding:.25rem .6rem;background:#e0f2fe;color:#075985;font-weight:600}
.danger-zone{border-left:4px solid #dc3545}
.hidden-tip-icon{display:inline-flex;color:#64748b;vertical-align:middle}
.admin-tip-inputs input{width:4.25rem;min-width:4.25rem}
.admin-tips-table th,.admin-tips-table td{white-space:nowrap}
.table-scroll{max-height:70vh;overflow:auto;-webkit-overflow-scrolling:touch}
.sticky-table th,.sticky-table td{white-space:nowrap}
.scoreboard-font{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:800;font-variant-numeric:tabular-nums}
.all-tips-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
.all-tips-table th,.all-tips-table td{text-align:center;vertical-align:middle}
.all-tips-table th:nth-child(1),.all-tips-table td:nth-child(1){width:2.35rem;min-width:2.35rem}
.all-tips-table th:nth-child(2),.all-tips-table td:nth-child(2){width:3.35rem;min-width:3.35rem}
.all-tips-table th:nth-child(3),.all-tips-table td:nth-child(3){white-space:normal;min-width:7.25rem;max-width:9rem;line-height:1.12}
.all-tips-table th:nth-child(4),.all-tips-table td:nth-child(4){width:3.65rem;min-width:3.65rem}
.all-tips-table th:nth-child(n+5),.all-tips-table td:nth-child(n+5){white-space:normal;min-width:4.1rem;max-width:4.8rem;line-height:1.08;padding-left:.3rem;padding-right:.3rem}
.all-tips-table th:nth-child(-n+4),.all-tips-table td:nth-child(-n+4){position:sticky;background:#fff;z-index:1;box-shadow:1px 0 0 rgba(15,23,42,.10)}
.all-tips-table th:nth-child(1),.all-tips-table td:nth-child(1){left:0}
.all-tips-table th:nth-child(2),.all-tips-table td:nth-child(2){left:2.35rem}
.all-tips-table th:nth-child(3),.all-tips-table td:nth-child(3){left:5.7rem}
.all-tips-table th:nth-child(4),.all-tips-table td:nth-child(4){left:14.7rem}
.all-tips-group-row th{text-align:left;background:#e0f2fe!important;color:#075985;font-weight:800;letter-spacing:.03em;border-top:2px solid #bae6fd;border-bottom:2px solid #bae6fd;box-shadow:none!important}
.all-tips-group-label{position:sticky;left:.6rem;z-index:2;display:inline-block}
.all-tips-table .all-tips-total-label{text-align:left}
.sticky-table thead th{position:sticky;top:0;z-index:2;background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.12)}
.all-tips-table thead th:nth-child(-n+4){z-index:4}
.all-tips-table{--all-tips-header-row-height:2.05rem}
.all-tips-table thead tr:first-child th{height:var(--all-tips-header-row-height);font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:.86rem;font-weight:800;line-height:1;white-space:nowrap}
.all-tips-table thead tr:nth-child(2) th{top:calc(var(--all-tips-header-row-height) - 1px);z-index:3;background:#fff8e1;color:#1f2937}
.all-tips-table thead tr:nth-child(2) th:nth-child(-n+2){z-index:5}
.all-tips-total-row th{border-bottom:2px solid rgba(245,158,11,.45)}
.all-tips-total-row .all-tips-total-label{font-family:'Barlow',system-ui,-apple-system,sans-serif;font-weight:600;font-size:.98rem;line-height:1.05}
.all-tips-total-row .all-tips-total-points{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:700;font-variant-numeric:tabular-nums;font-size:1.06rem}
.all-tips-trophy{text-align:center;color:#b45309}
.all-tips-total-points{text-align:center}
.all-tips-total-winner{background:#facc15!important;color:#78350f!important;border-radius:.25rem;box-shadow:inset 0 0 0 1px rgba(180,83,9,.22)}
.all-tips-table .all-tips-match-number{text-align:center;font-weight:700;color:#475569}
.all-tips-latest-result{scroll-margin-top:5rem}
.all-tip-cell .tip-score{display:block;font-weight:600;line-height:1.05}
.all-tip-cell .tip-points{display:block;font-size:.78rem;line-height:1.05;white-space:nowrap}
.all-tip-5{background:#bbf7d0!important;color:#14532d!important;box-shadow:inset 0 0 0 1px rgba(22,101,52,.18)}
.all-tip-5 .muted{color:#166534!important}
.all-tips-status{display:flex;flex-wrap:wrap;gap:.45rem 1.25rem;align-items:center;justify-content:space-between;margin-bottom:.55rem;color:#475569;font-size:.92rem}
.all-tips-status-label{color:#475569;font-weight:700}
.all-tips-deadline-row{position:relative}
.deadline-countdown{font-variant-numeric:tabular-nums;color:#b45309}
.deadline-countdown-deadline{color:#b45309}
.deadline-countdown-next{color:#2563eb}
.deadline-info-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:.22rem;border:0;background:transparent;color:#94a3b8;font-family:'Inter',system-ui,-apple-system,sans-serif;font-size:.9rem;font-weight:600;line-height:1;box-shadow:none;cursor:pointer;vertical-align:-.08em;padding:0 .08rem;transition:color .12s ease,transform .12s ease}
.deadline-info-icon:hover,.deadline-info-icon:focus-visible,.deadline-info-icon.is-open{background:transparent;color:#475569;outline:none;transform:translateY(-1px)}
.deadline-info-popover{display:none;position:absolute;right:0;top:calc(100% + .45rem);z-index:30;width:min(19rem,calc(100vw - 2rem));padding:.65rem .75rem;border-radius:.75rem;background:#0f172a;color:#f8fafc;font-size:.82rem;line-height:1.35;font-weight:500;box-shadow:0 14px 35px rgba(15,23,42,.26);text-align:left}
.deadline-info-popover::before{content:"";position:absolute;right:.55rem;top:-.38rem;width:.75rem;height:.75rem;background:#0f172a;transform:rotate(45deg)}
.deadline-info-icon:hover+.deadline-info-popover,.deadline-info-icon:focus-visible+.deadline-info-popover,.deadline-info-icon.is-open+.deadline-info-popover{display:block}
.leaderboard-table .leaderboard-value,.leaderboard-table .leaderboard-total{font-family:'JetBrains Mono',ui-monospace,monospace;font-weight:700;font-variant-numeric:tabular-nums;font-size:.9rem}
.leaderboard-table .leaderboard-total{font-weight:800;font-size:1rem}
.leaderboard-table .leaderboard-peak{font-weight:900!important}
.leaderboard-table .leaderboard-peak .leaderboard-value{font-weight:900!important}
.leaderboard-table .leaderboard-peak-5{color:#047857!important}
.leaderboard-table .leaderboard-peak-4{color:#0369a1!important}
.leaderboard-table .leaderboard-peak-3{color:#b45309!important}
.leaderboard-table .leaderboard-peak-2{color:#6d28d9!important}
.leaderboard-table .leaderboard-peak-0{color:#b91c1c!important}
.leaderboard-total{color:#1e3a8a}
.event-description-mobile,.event-description-preview{display:none}
.my-tip-score-input{width:4.25rem;min-width:4.25rem;text-align:center}
.my-tips-save-bar{position:sticky;bottom:0;z-index:4;background:#fff;border-top:1px solid rgba(15,23,42,.12);padding:.75rem 0;margin-top:.25rem}
.event-chat{width:100%;max-width:none}
.chat-subtitle{color:#4b5563;font-style:italic}
.teams-like-pill{border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:700;padding:.3rem .7rem;font-size:.82rem}
.event-chat-window{display:flex;flex-direction:column;gap:.85rem;max-height:58vh;overflow:auto;background:linear-gradient(180deg,#f8fafc,#eef2ff);border:1px solid #dbe4f0;border-radius:1rem;padding:1rem;-webkit-overflow-scrolling:touch}
.chat-message{max-width:82%;background:#fff;border:1px solid rgba(99,102,241,.14);border-radius:1rem 1rem 1rem .3rem;padding:.75rem .85rem;box-shadow:0 5px 18px rgba(15,23,42,.08)}
.chat-message-mine{align-self:flex-end;background:#e0f2fe;border-color:#bae6fd;border-radius:1rem 1rem .3rem 1rem}
.chat-message-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;color:#475569;font-size:.85rem;margin-bottom:.35rem}
.chat-edited{color:#64748b;font-style:italic}
.chat-message-body{white-space:normal;overflow-wrap:anywhere;font-size:.98rem}
.chat-reply-preview{border-left:3px solid #6366f1;background:rgba(99,102,241,.08);border-radius:.5rem;padding:.35rem .5rem;margin-bottom:.5rem;color:#475569}
.chat-reply-preview span{font-weight:700;font-size:.8rem;color:#3730a3}
.chat-reply-preview p{margin:0;font-size:.86rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chat-reactions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.chat-reaction-pill{border-radius:999px;background:#f1f5f9;border:1px solid #dbe4f0;padding:.12rem .45rem;font-weight:700}
.chat-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.55rem}
.chat-actions details summary{cursor:pointer;color:#2563eb;font-size:.86rem;font-weight:600;list-style:none}
.chat-actions details summary::-webkit-details-marker{display:none}
.chat-reply-button{padding:0;font-size:.86rem;font-weight:600;text-decoration:none}
.chat-composer-reply{display:flex;justify-content:space-between;gap:.75rem;border-left:4px solid #6366f1;background:#eef2ff;border-radius:.65rem;padding:.55rem .7rem;margin-bottom:.65rem;color:#475569}
.chat-composer-reply span{font-size:.82rem;color:#3730a3}
.chat-composer-reply p{margin:0;font-size:.9rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chat-reply-form{margin-top:.45rem;min-width:min(20rem,100%);border-left:3px solid #93c5fd;background:#f8fafc;border-radius:.55rem;padding:.45rem}
.chat-reply-form textarea{background:#fff;border-color:#cbd5e1;box-shadow:none;resize:vertical}
.chat-reaction-actions{display:flex;flex-wrap:wrap;gap:.25rem}
.chat-reaction-actions form{display:inline}
.chat-emoji-row{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.45rem}
.chat-composer{margin-top:1rem;border:1px solid #dbe4f0;border-radius:1rem;padding:1rem;background:#fff;box-shadow:0 6px 22px rgba(15,23,42,.06)}
.chat-empty{text-align:center;padding:2rem .75rem}

@media(max-width:575.98px){
  .app-shell{padding-left:.75rem!important;padding-right:.75rem!important}
  .hero{padding:1.25rem;border-radius:.75rem}
  .tab-content{padding:.5rem!important}
  .nav-tabs .nav-link{padding:.45rem .55rem;font-size:.92rem}
  .event-description-full{display:none}
  .event-description-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.25rem}
  .event-description-mobile{display:block;margin-bottom:1rem}
  .event-description-mobile summary{color:#0d6efd;cursor:pointer;font-weight:600;list-style:none}
  .event-description-mobile summary::-webkit-details-marker{display:none}
  .event-description-mobile .summary-less{display:none}
  .event-description-mobile[open] .summary-more{display:none}
  .event-description-mobile[open] .summary-less{display:inline}
  .event-description-mobile[open] p{margin-top:.5rem}
  .event-description:has(.event-description-mobile[open]) .event-description-preview{display:none}
  .table-scroll{max-height:65vh;margin-left:-.5rem;margin-right:-.5rem;border-radius:.5rem}
  .all-tips-status{display:block;margin-left:0;margin-right:0}
  .all-tips-status>div+div{margin-top:.35rem}
  .sticky-table{font-size:.82rem;margin-bottom:0}
  .sticky-table th,.sticky-table td{padding:.32rem .35rem;vertical-align:middle}
  .my-tips-table th:nth-child(4),.my-tips-table td:nth-child(4){white-space:normal;min-width:9rem}
  .my-tips-table th:nth-child(3),.my-tips-table td:nth-child(3){min-width:6.7rem}
  .my-tips-table th:nth-child(6),.my-tips-table td:nth-child(6){position:sticky;right:0;background:#fff;z-index:1;box-shadow:-1px 0 0 rgba(15,23,42,.12)}
  .my-tips-table thead th:nth-child(6){z-index:3}
  .all-tips-table th:nth-child(1),.all-tips-table td:nth-child(1){width:2rem;min-width:2rem}
  .all-tips-table th:nth-child(2),.all-tips-table td:nth-child(2){width:2.9rem;min-width:2.9rem}
  .all-tips-table th:nth-child(3),.all-tips-table td:nth-child(3){min-width:6.1rem;max-width:6.1rem}
  .all-tips-table th:nth-child(4),.all-tips-table td:nth-child(4){width:3.25rem;min-width:3.25rem}
  .all-tips-table th:nth-child(n+5),.all-tips-table td:nth-child(n+5){min-width:3.55rem;max-width:3.9rem;padding-left:.2rem;padding-right:.2rem}
  .all-tips-table th:nth-child(2),.all-tips-table td:nth-child(2){left:2rem}
  .all-tips-table th:nth-child(3),.all-tips-table td:nth-child(3){left:4.9rem}
  .all-tips-table th:nth-child(4),.all-tips-table td:nth-child(4){left:11rem}
  .all-tips-table{--all-tips-header-row-height:1.75rem}
  .all-tips-table thead tr:first-child th{font-size:.72rem;letter-spacing:-.025em;line-height:1;white-space:nowrap}
  .all-tips-total-row .all-tips-total-label{font-size:.88rem}
  .all-tips-total-row .all-tips-total-points{font-size:.95rem}
  .my-tip-form{flex-wrap:nowrap}
  .my-tip-score-input{width:3.5rem;min-width:3.5rem;padding-left:.3rem;padding-right:.3rem}
  .my-tip-form .btn{padding-left:.45rem;padding-right:.45rem}
  .my-tips-save-bar{display:flex;gap:.5rem;align-items:center;justify-content:space-between;padding:.65rem .5rem;margin-left:-.5rem;margin-right:-.5rem}
  .my-tips-save-bar .muted{font-size:.78rem}
  .my-tips-save-button{white-space:nowrap}
  .leaderboard-table{width:100%;table-layout:auto}
  .leaderboard-table th,.leaderboard-table td{text-align:center;white-space:nowrap}
  .leaderboard-table th:first-child,.leaderboard-table td:first-child{width:2rem;padding-left:.25rem;padding-right:.25rem}
  .leaderboard-table th:nth-child(n+3),.leaderboard-table td:nth-child(n+3){width:2.35rem;min-width:2.35rem;padding-left:.22rem;padding-right:.22rem}
  .leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){position:sticky;left:0;background:#fff;text-align:left;z-index:1;box-shadow:1px 0 0 rgba(15,23,42,.12);white-space:normal;min-width:6.5rem}
  .leaderboard-table thead th:nth-child(2){z-index:3}
  .leaderboard-table .leaderboard-value,.leaderboard-table .leaderboard-total{font-size:.72rem}
  .leaderboard-table .leaderboard-total{font-size:.78rem}
  .event-chat{max-width:none}
  .event-chat-window{max-height:60vh;margin-left:-.25rem;margin-right:-.25rem;padding:.65rem;border-radius:.75rem}
  .chat-message{max-width:94%;padding:.65rem .7rem}
  .chat-message-header{display:block;font-size:.78rem}
  .chat-actions{display:block}
  .chat-reaction-actions{margin-top:.45rem}
  .chat-composer{padding:.75rem;border-radius:.75rem}
}
