/* OLP Core: results ticker, latest card, badges. Theme supplies colors via presets. */
.olp-ticker { display: flex; flex-direction: column; gap: .35rem; background: var(--wp--preset--color--ink, #0B0F1A); color: #F3F5F9; padding: .6rem 1.5rem; font-size: .9rem; }
.olp-ticker__row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; }
.olp-ticker__label { font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: .75rem; color: var(--wp--preset--color--lime, #C6FF4A); }
.olp-ticker__game { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .5rem .6rem; padding: .35rem .5rem .35rem .75rem; min-height: 44px; box-sizing: border-box; color: #F3F5F9; text-decoration: none; border-left: 3px solid var(--wp--preset--color--panel-line, #1F2840); border-radius: 4px; }
.olp-ticker__game--powerball { border-left-color: #E63946; }
.olp-ticker__game--megamillions { border-left-color: #F4B400; }
.olp-ticker__name { color: #F3F5F9; font-weight: 700; text-decoration: none; }
.olp-ticker__game:hover .olp-ticker__name, .olp-ticker__game:focus-visible .olp-ticker__name { color: var(--wp--preset--color--lime, #C6FF4A); text-decoration: underline; }
.olp-ticker__game:focus-visible { outline: 2px solid var(--wp--preset--color--lime, #C6FF4A); outline-offset: 3px; }
.olp-ticker__date { color: var(--wp--preset--color--panel-text, #A9B3C9); }
.olp-ticker__balls { display: inline-flex; gap: .3rem; }
.olp-ticker__mult { font-size: .75rem; color: var(--wp--preset--color--panel-text, #A9B3C9); }
.olp-freq { display: flex; flex-direction: column; gap: .9rem; }
.olp-freq__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .85rem; }
.olp-freq__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(44px, 1fr)); gap: 4px; }
.olp-freq__cell { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 44px; border-radius: 6px; background: var(--wp--preset--color--panel-line, #1F2840); color: #F3F5F9; font-size: .75rem; line-height: 1.1; }
.olp-freq__n { font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; font-size: .85rem; }
.olp-freq__c { color: var(--wp--preset--color--panel-text, #A9B3C9); font-size: .65rem; }
.olp-freq__cell--1 { background: #3C5420; }
.olp-freq__cell--2 { background: #5F7F2E; }
.olp-freq__cell--3 { background: #8FBF3A; color: #0B0F1A; }
.olp-freq__cell--3 .olp-freq__c { color: #1F2840; }
.olp-freq__cell--4 { background: var(--wp--preset--color--lime, #C6FF4A); color: #0B0F1A; }
.olp-freq__cell--4 .olp-freq__c { color: #1F2840; }
.olp-tag { font-size: .7rem; background: var(--wp--preset--color--panel-line, #1F2840); color: var(--wp--preset--color--lime, #C6FF4A); padding: .25rem .5rem; border-radius: 6px; font-weight: 700; letter-spacing: .06em; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.olp-ticker__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem 1rem; font-size: .75rem; color: #7D879C; }
.olp-ticker__meta a { color: #A9B3C9; }
.olp-ball { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: var(--wp--preset--color--panel-line, #1F2840); color: #F3F5F9; font-family: var(--wp--preset--font-family--display, inherit); font-weight: 700; font-size: .8rem; }
.olp-ball--special { background: var(--wp--preset--color--lime, #C6FF4A); color: var(--wp--preset--color--ink, #0B0F1A); }
.olp-badge { display: inline-block; font-size: .72rem; font-weight: 700; padding: .2rem .5rem; border-radius: 6px; line-height: 1.3; }
.olp-badge--pending { background: #1F2840; color: #F3F5F9; }
.olp-badge--stale { background: #F4B400; color: #0B0F1A; }
.olp-latest { display: flex; flex-direction: column; gap: .9rem; }
.olp-latest__head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
.olp-latest__date { font-size: .85rem; color: #A9B3C9; }
.olp-latest__balls { display: flex; gap: .4rem; flex-wrap: wrap; }
.olp-latest__balls .olp-ball { width: 44px; height: 44px; font-size: 1.1rem; border-radius: 10px; }
.olp-latest .olp-badge { align-self: flex-start; }
@media (max-width: 600px) {
  .olp-ticker { padding: .6rem 1rem; font-size: .8rem; }
  .olp-ball { width: 24px; height: 24px; font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) { .olp-ticker *, .olp-latest * { transition: none !important; animation: none !important; } }
