.hl-modal{display: contents;}.hl-modal-trigger{display: inline-flex;align-items: center;gap: var(--space-2);}.hl-modal-trigger-icon{display: inline-flex;}.hl-modal-trigger-icon svg{width: 18px;height: 18px;}dialog.hl-modal-dialog, dialog.hl-modal-dialog *, dialog.hl-modal-dialog *::before, dialog.hl-modal-dialog *::after{box-sizing: border-box;}dialog.hl-modal-dialog{position: fixed;inset: 0;margin: auto;padding: 0;border: 1px solid var(--border);border-radius: 16px;background: var(--bg-raised);color: var(--text);width: min(92vw, 480px);max-height: min(85dvh, 640px);box-shadow: 0 24px 64px -16px rgba(0, 0, 0, 0.6), 0 4px 16px -4px rgba(0, 0, 0, 0.4);overscroll-behavior: contain;overflow: hidden;}dialog.hl-modal-dialog--sm{width: min(92vw, 360px);}dialog.hl-modal-dialog--lg{width: min(94vw, 720px);}dialog.hl-modal-dialog::backdrop{background: rgba(6, 5, 4, 0.72);backdrop-filter: blur(3px);}.hl-modal-panel{display: flex;flex-direction: column;max-height: inherit;}.hl-modal-head{display: flex;align-items: center;justify-content: space-between;gap: var(--space-3);padding: var(--space-4) var(--space-4) var(--space-3);border-bottom: 1px solid var(--border);flex-shrink: 0;}.hl-modal-title{margin: 0;}.hl-modal-close{display: flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: 50%;border: none;background: transparent;color: var(--text-secondary);cursor: pointer;flex-shrink: 0;transition: background 0.15s ease, color 0.15s ease, transform 0.15s ease;}.hl-modal-close:hover{background: var(--bg-card);color: var(--text);transform: rotate(90deg);}.hl-modal-close:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}.hl-modal-close svg{width: 18px;height: 18px;}.hl-modal-body{padding: var(--space-4);overflow-y: auto;overscroll-behavior: contain;color: var(--text-secondary);}.hl-modal-body p:last-child{margin-bottom: 0;}.hl-modal-footer{display: flex;justify-content: flex-end;gap: var(--space-2);padding: var(--space-3) var(--space-4) var(--space-4);border-top: 1px solid var(--border);flex-shrink: 0;}.hl-modal-feature-list{list-style: none;margin: 0 0 var(--space-5);padding: 0;display: flex;flex-direction: column;gap: var(--space-3);}.hl-modal-feature-item{display: flex;align-items: center;gap: var(--space-3);color: var(--text);}.hl-modal-feature-item svg{flex-shrink: 0;color: var(--primary);}.hl-modal-feature-item:nth-child(2) svg{color: var(--teal);}.hl-modal-feature-item:nth-child(3) svg{color: var(--gold);}.hl-modal-feature-item:nth-child(4) svg{color: var(--violet);}.hl-modal-feature-item:nth-child(5) svg{color: var(--lime);}.hl-modal-cta.hl-btn{width: 100%;justify-content: center;}.hl-modal-cta.hl-btn-primary{color: var(--on-primary);}.hl-modal-cta.hl-btn-secondary{color: var(--text);}.hl-start-league-teaser{display: flex;justify-content: center;padding: var(--space-5) 0;}.hl-start-league-badge{display: inline-flex;align-items: center;gap: 6px;padding: 5px 12px 5px 10px;border-radius: 999px;background: rgba(var(--primary-rgb), 0.12);border: 1px solid rgba(var(--primary-rgb), 0.32);color: var(--primary-hover);font-size: 12px;font-weight: 700;letter-spacing: 0.4px;text-transform: uppercase;}.hl-start-league-badge--lg{padding: 9px 18px 9px 14px;font-size: 14px;letter-spacing: 0.6px;}.hl-start-league-badge svg{width: 14px;height: 14px;flex-shrink: 0;}.hl-start-league-badge--lg svg{width: 17px;height: 17px;}@media (prefers-reduced-motion: no-preference){.hl-start-league-badge svg{animation: hl-start-league-bell 2.6s ease-in-out infinite;transform-origin: 50% 15%;}}@keyframes hl-start-league-bell{0%, 65%, 100%{transform: rotate(0deg);}69%{transform: rotate(-12deg);}73%{transform: rotate(10deg);}77%{transform: rotate(-8deg);}81%{transform: rotate(4deg);}85%{transform: rotate(0deg);}}#start-league-modal .hl-modal-panel{background: radial-gradient(260px 180px at 100% 0%, rgba(var(--primary-rgb), 0.10), transparent 70%);}.hl-start-league-lede{margin: 0 0 var(--space-4);color: var(--text-muted);font-size: 13px;line-height: 1.5;}.hl-start-league-form{display: flex;flex-direction: column;gap: var(--space-3);}.hl-start-league-form-row{display: grid;grid-template-columns: 1fr 1fr;gap: var(--space-3);}.hl-start-league-field{display: flex;flex-direction: column;gap: 4px;}.hl-start-league-field .hl-input{width: 100%;min-width: 0;}.hl-start-league-phone{display: flex;align-items: stretch;}.hl-start-league-phone-prefix{display: flex;align-items: center;padding: 0 10px;border: 1px solid var(--border-strong);border-right: none;border-radius: 8px 0 0 8px;background: var(--bg-raised);color: var(--text-muted);font-size: 14px;font-weight: 600;font-family: var(--font-mono);flex-shrink: 0;}.hl-start-league-phone-input.hl-input{border-radius: 0 8px 8px 0;}.hl-start-league-optional{color: var(--text-muted);font-weight: 400;text-transform: none;letter-spacing: normal;}.hl-start-league-field-error{color: var(--alert);font-size: 12px;}.hl-start-league-form-error{margin: 0 0 var(--space-2);padding: 8px 12px;border-radius: 8px;background: rgba(255, 90, 77, 0.12);border: 1px solid rgba(255, 90, 77, 0.32);color: var(--alert);font-size: 13px;}.hl-start-league-submit{margin-top: var(--space-1);width: 100%;justify-content: center;}.hl-start-league-divider{display: flex;align-items: center;gap: var(--space-3);margin: var(--space-4) 0;color: var(--text-muted);font-size: 12px;text-transform: uppercase;letter-spacing: 0.4px;}.hl-start-league-divider::before, .hl-start-league-divider::after{content: "";flex: 1;height: 1px;background: var(--border-strong);}.hl-start-league-fb{display: flex;align-items: center;justify-content: center;gap: 8px;width: 100%;padding: 10px 16px;border-radius: 10px;border: 1px solid var(--border-strong);background: var(--bg-card);color: var(--text);font-size: 14px;font-weight: 600;text-decoration: none;transition: background 0.15s ease, border-color 0.15s ease;}.hl-start-league-fb:hover{background: var(--bg-raised);border-color: #1877F2;color: #1877F2;}.hl-start-league-thanks{display: flex;flex-direction: column;align-items: center;gap: var(--space-3);text-align: center;padding: var(--space-3) 0 var(--space-2);}.hl-start-league-thanks-icon{display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 999px;background: rgba(182, 226, 74, 0.14);border: 1px solid rgba(182, 226, 74, 0.36);color: var(--lime);}.hl-start-league-thanks h4{margin: 0;font-family: var(--font-heading);font-size: 20px;}.hl-start-league-thanks p{margin: 0;color: var(--text-muted);font-size: 14px;line-height: 1.5;}.hl-start-league-thanks p strong{color: var(--text);}.hl-start-league-next{list-style: none;display: grid;gap: var(--space-2);width: 100%;margin: var(--space-1) 0 0;padding: var(--space-3);border: 1px solid var(--border);border-radius: 12px;background: var(--bg-card);text-align: left;}.hl-start-league-next li{display: flex;align-items: flex-start;gap: 10px;font-size: 13.5px;line-height: 1.45;color: var(--text-secondary);}.hl-start-league-next b{flex-shrink: 0;display: grid;place-items: center;width: 20px;height: 20px;border-radius: 50%;border: 1px solid var(--primary);color: var(--primary);font: 700 11px var(--font-mono);}.hl-start-league-done{width: 100%;margin: var(--space-1) 0 0;}.hl-start-league-fine{margin: 0;color: var(--text-muted);font-size: 12px;line-height: 1.5;text-align: center;}.hl-start-league-fine a{color: inherit;text-decoration: underline;text-underline-offset: 2px;}.hl-start-league-submit-busy{display: none;}.htmx-request .hl-start-league-submit-idle{display: none;}.htmx-request .hl-start-league-submit-busy{display: inline;}body:has(dialog.hl-modal-dialog[open]){overflow: hidden;}@media (prefers-reduced-motion: no-preference){dialog.hl-modal-dialog{opacity: 0;transform: translateY(14px) scale(0.96);transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), overlay 0.22s ease allow-discrete, display 0.22s ease allow-discrete;}dialog.hl-modal-dialog[open]{opacity: 1;transform: translateY(0) scale(1);}@starting-style{dialog.hl-modal-dialog[open]{opacity: 0;transform: translateY(14px) scale(0.96);}}dialog.hl-modal-dialog::backdrop{opacity: 0;transition: opacity 0.22s ease, overlay 0.22s ease allow-discrete, display 0.22s ease allow-discrete;}dialog.hl-modal-dialog[open]::backdrop{opacity: 1;}@starting-style{dialog.hl-modal-dialog[open]::backdrop{opacity: 0;}}@keyframes hl-modal-content-in{from{opacity: 0;transform: translateY(8px);}to{opacity: 1;transform: translateY(0);}}dialog.hl-modal-dialog[open] .hl-modal-panel{animation: hl-modal-content-in 0.28s cubic-bezier(0.16, 1, 0.3, 1) 0.05s both;}}@media (max-width: 560px){dialog.hl-modal-dialog, dialog.hl-modal-dialog--sm, dialog.hl-modal-dialog--lg{width: min(94vw, 440px);max-height: min(88dvh, 640px);border-radius: 14px;}}dialog.hl-welcome-modal{width: min(92vw, 520px);max-height: min(88dvh, 680px);}.hl-welcome-modal .hl-modal-panel{position: relative;background: radial-gradient(320px 180px at 50% 0%, rgba(var(--primary-rgb), 0.10), transparent 70%);}.hl-welcome-modal-grabber{display: none;}.hl-welcome-modal-close{position: absolute;top: var(--space-3);right: var(--space-3);z-index: 1;}.hl-welcome-modal-body{flex: 1 1 auto;min-height: 0;display: flex;flex-direction: column;gap: var(--space-4);padding: var(--space-5) var(--space-5) var(--space-3);}.hl-welcome-head{display: flex;flex-direction: column;align-items: center;gap: var(--space-2);padding: 0 var(--space-7);text-align: center;}.hl-welcome-logo{width: 52px;height: 52px;object-fit: contain;filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.45));}.hl-welcome-league{font: 600 11px/1.35 var(--font-mono);letter-spacing: 1.4px;text-transform: uppercase;color: var(--text-muted);overflow-wrap: anywhere;}.hl-welcome-message[hidden]{display: none;}.hl-welcome-intro{display: flex;flex-direction: column;align-items: center;gap: var(--space-2);text-align: center;}.hl-welcome-modal-title{margin: 0;color: var(--text);font: 800 32px/1 var(--font-heading);letter-spacing: 0.3px;text-transform: uppercase;text-wrap: balance;overflow-wrap: anywhere;}.hl-welcome-modal-lead{margin: 0;max-width: 40ch;font-size: 14px;line-height: 1.5;}.hl-welcome-spot{display: flex;flex-direction: column;align-items: flex-start;gap: var(--space-2);padding: var(--space-4);border: 1px solid var(--border-strong);border-radius: 14px;background: linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent);}.hl-welcome-spot-title{margin: var(--space-1) 0 0;color: var(--text);font: 700 26px/1.05 var(--font-heading);text-transform: uppercase;text-wrap: balance;overflow-wrap: anywhere;}.hl-welcome-spot-lead{margin: 0;font-size: 14px;line-height: 1.5;}.hl-welcome-spot-actions{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0, 1fr);gap: var(--space-2);width: 100%;margin-top: var(--space-2);}.hl-welcome-modal .hl-welcome-spot-btn{display: flex;align-items: center;justify-content: center;gap: var(--space-2);min-height: 48px;padding: 10px var(--space-4);border: 1px solid var(--border-strong);border-radius: 10px;color: var(--text);font-size: 14.5px;font-weight: 700;line-height: 1.25;text-align: center;text-decoration: none;transition: background-color 0.15s ease, border-color 0.15s ease;}.hl-welcome-spot-btn svg{flex-shrink: 0;width: 18px;height: 18px;}.hl-welcome-spot-btn span{min-width: 0;overflow-wrap: anywhere;}.hl-welcome-modal .hl-welcome-spot-btn[data-tone="primary"]{background: var(--primary);border-color: var(--primary);color: var(--on-primary);}@media (hover: hover){.hl-welcome-modal .hl-welcome-spot-btn:hover{border-color: var(--text-secondary);}.hl-welcome-modal .hl-welcome-spot-btn[data-tone="primary"]:hover{background: var(--primary-hover);border-color: var(--primary-hover);}}.hl-welcome-spot-btn:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}.hl-welcome-modal-badge{display: inline-flex;align-items: center;gap: 6px;padding: 4px 10px 4px 8px;border-radius: 999px;border: 1px solid var(--border-strong);color: var(--text-secondary);font-size: 11px;font-weight: 700;line-height: 1.4;letter-spacing: 0.6px;text-transform: uppercase;}.hl-welcome-modal-badge svg{width: 13px;height: 13px;flex-shrink: 0;}.hl-welcome-modal-badge[data-tone="gold"]{background: rgba(245, 195, 75, 0.1);border-color: rgba(245, 195, 75, 0.4);color: var(--gold);}.hl-welcome-modal-badge[data-tone="live"]{background: rgba(47, 211, 196, 0.08);border-color: rgba(47, 211, 196, 0.4);color: var(--teal);}.hl-welcome-doors{display: flex;flex-direction: column;gap: var(--space-2);}.hl-welcome-jump{margin: 0;font: 600 11px/1.2 var(--font-mono);letter-spacing: 1.2px;text-transform: uppercase;color: var(--text-muted);text-align: center;}.hl-welcome-door-grid{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: var(--space-2);}.hl-welcome-door:last-child:nth-child(odd){grid-column: 1 / -1;}.hl-welcome-modal .hl-welcome-door{display: grid;grid-template-columns: auto minmax(0, 1fr);align-items: center;gap: var(--space-3);min-height: 52px;padding: var(--space-2) var(--space-3);border: 1px solid var(--border);border-radius: 12px;background: var(--bg-card);color: var(--text);text-decoration: none;transition: border-color 0.15s ease, transform 0.15s ease;}.hl-welcome-door-icon{display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;border-radius: 9px;background: rgba(var(--primary-rgb), 0.12);color: var(--primary-hover);}.hl-welcome-door-icon svg{width: 16px;height: 16px;}.hl-welcome-door-text{display: flex;flex-direction: column;gap: 2px;min-width: 0;}.hl-welcome-door-title{font-size: 14px;font-weight: 700;line-height: 1.25;overflow-wrap: anywhere;}.hl-welcome-door-caption{display: none;color: var(--text-muted);font-size: 12.5px;line-height: 1.35;}.hl-welcome-door-arrow{display: none;color: var(--primary);font-weight: 700;transition: transform 0.15s ease;}@media (hover: hover){.hl-welcome-modal .hl-welcome-door:hover{border-color: var(--primary);transform: translateY(-1px);}.hl-welcome-door:hover .hl-welcome-door-arrow{transform: translateX(3px);}}.hl-welcome-modal .hl-welcome-door:active{border-color: var(--primary);}.hl-welcome-door:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-jump{display: none;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door{grid-template-columns: auto minmax(0, 1fr) auto;min-height: 68px;padding: var(--space-3);}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door-icon{width: 40px;height: 40px;border-radius: 10px;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door-icon svg{width: 20px;height: 20px;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door-caption{display: block;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door-arrow{display: inline;}.hl-welcome-modal-footer{justify-content: center;border-top: 0;padding: var(--space-1) var(--space-5) var(--space-4);}.hl-welcome-dismiss{min-width: 140px;min-height: 44px;padding: 10px var(--space-5);border: 0;border-radius: 10px;background: transparent;color: var(--text-secondary);font: 600 14px var(--font-body);cursor: pointer;transition: background-color 0.15s ease, color 0.15s ease;}.hl-welcome-dismiss:hover{background: var(--bg-card);color: var(--text);}.hl-welcome-dismiss:focus-visible{outline: 2px solid var(--border-strong);outline-offset: 0;background: var(--bg-card);color: var(--text);}.hl-welcome-modal-footer .hl-btn{min-width: 140px;justify-content: center;}.hl-welcome-preview-bar{margin: 0 var(--space-5) var(--space-2);padding: 8px 12px;border: 1px dashed currentColor;border-radius: 8px;font-size: 12px;line-height: 1.4;text-align: center;opacity: 0.7;}@media (max-width: 560px){dialog.hl-welcome-modal{inset: auto 0 0 0;margin: 0;width: 100%;max-width: 100%;max-height: min(90dvh, 680px);border-width: 1px 0 0;border-radius: 20px 20px 0 0;}dialog.hl-welcome-modal::backdrop{background: rgba(6, 5, 4, 0.5);backdrop-filter: none;}.hl-welcome-modal-grabber{display: block;flex-shrink: 0;width: 40px;height: 4px;margin: var(--space-2) auto 0;border-radius: 999px;background: var(--border-strong);}.hl-welcome-modal-close{top: var(--space-2);right: max(var(--space-2), env(safe-area-inset-right, 0px));}.hl-welcome-modal-body{gap: var(--space-4);padding: var(--space-3) max(var(--space-4), env(safe-area-inset-right, 0px)) var(--space-2) max(var(--space-4), env(safe-area-inset-left, 0px));}.hl-welcome-head{flex-direction: row;justify-content: center;padding: 0 var(--space-7);}.hl-welcome-logo{width: 32px;height: 32px;}.hl-welcome-modal-title{font-size: 28px;}.hl-welcome-modal-lead{font-size: 13.5px;}.hl-welcome-spot{padding: 14px;}.hl-welcome-spot-title{font-size: 22px;}.hl-welcome-spot-actions{grid-auto-flow: row;}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door-grid{grid-template-columns: minmax(0, 1fr);}.hl-welcome-message[data-welcome-kind="welcome"]:not([hidden]) ~ .hl-welcome-doors .hl-welcome-door{min-height: 60px;padding: 10px var(--space-3);}.hl-welcome-door-title{font-size: 13.5px;}.hl-welcome-modal-footer{padding: var(--space-1) max(var(--space-4), env(safe-area-inset-right, 0px)) max(var(--space-3), env(safe-area-inset-bottom, 0px)) max(var(--space-4), env(safe-area-inset-left, 0px));}.hl-welcome-dismiss{width: 100%;min-height: 48px;}.hl-welcome-modal-footer .hl-btn{flex: 1;min-width: 0;min-height: 48px;}.hl-welcome-preview-bar{margin: 0 var(--space-4) var(--space-2);}}@media (max-width: 360px){.hl-welcome-modal .hl-welcome-door{gap: var(--space-2);padding: var(--space-2);}.hl-welcome-door-icon{width: 28px;height: 28px;}.hl-welcome-modal-title{font-size: 26px;}}@media (max-width: 560px) and (prefers-reduced-motion: no-preference){dialog.hl-welcome-modal{transform: translateY(100%);}dialog.hl-welcome-modal[open]{transform: translateY(0);}@starting-style{dialog.hl-welcome-modal[open]{transform: translateY(100%);}}}@media (prefers-reduced-motion: reduce){.hl-welcome-modal .hl-welcome-door, .hl-welcome-door-arrow, .hl-welcome-modal .hl-welcome-spot-btn{transition: none;}.hl-welcome-modal .hl-welcome-door:hover{transform: none;}}