body:has(.today-world) { background: #f7f9fd; color: #132b4f; }
.page-today-world { display: block; min-width: 0; padding: 26px clamp(12px, 3vw, 30px) 72px; }
.today-world { --tw-ink: #132b4f; --tw-muted: #465d7b; --tw-blue: #245ad7; width: min(960px, 100%); min-width: 0; margin: 0 auto; font-family: Arial, sans-serif; }
.today-world [hidden] { display: none !important; }
.today-world-heading { margin: 0 0 23px; }
.today-world-heading .event-title-panel { margin-bottom: 16px; }
.today-world-heading p { max-width: 690px; margin: 0; color: var(--tw-muted); font-size: 15px; line-height: 1.6; }
.today-world-lead { display: block; }
.today-world-local { padding: clamp(19px, 3vw, 30px); border: 1px solid #1749b4; border-radius: 18px; background: linear-gradient(130deg, #2860dc, #194bb9); color: #fff; box-shadow: 0 15px 32px #1749b41c; }
.today-world-local h2 { margin: 0 0 11px; color: #dce8ff; font: 700 11px/1.3 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.today-world-local-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(165px, 210px); align-items: end; gap: 24px; }
.today-world-local-calendar { min-width: 0; }
.today-world-local-weekday { margin: 0 0 15px; color: #fff; font: 700 clamp(23px, 3vw, 31px)/1.15 Arial, sans-serif; letter-spacing: -.035em; }
.today-world-date-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; max-width: 550px; }
.today-world-date-tile { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; min-height: 110px; padding: 15px; border-radius: 12px; background: #fff; color: #174179; box-shadow: 0 7px 19px #0a358b1c; }
.today-world-date-tile span { color: #3c5c82; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.today-world-date-tile strong { font-size: clamp(26px, 3vw, 36px); line-height: 1.1; letter-spacing: -.05em; }
.today-world-date-tile:nth-child(2) strong { font-size: clamp(23px, 2.5vw, 31px); }
.today-world-local-details { display: grid; gap: 10px; }
.today-world-local-details > div { min-width: 0; padding: 14px 15px; border: 1px solid #ffffff4a; border-radius: 12px; background: #ffffff17; }
.today-world-local-details span { display: block; margin-bottom: 6px; color: #dce8ff; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.today-world-local-details strong { display: block; color: #fff; font-size: 21px; line-height: 1.2; overflow-wrap: anywhere; }
.today-world-local-details > div:last-child strong { font-size: 14px; }
.today-world-local-full-date { margin-top: 18px; padding-top: 15px; border-top: 1px solid #ffffff4a; }
.today-world-local-full-date > span { display: block; margin-bottom: 7px; color: #dce8ff; font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.today-world-local-full-date > div { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 16px; }
.today-world-local-full-date time:first-child { color: #fff; font-size: 21px; font-weight: 800; line-height: 1.3; }
.today-world-local-full-date time:last-child { color: #eef4ff; font-size: 14px; line-height: 1.45; }
.today-world-month-number { margin-top: 18px; padding-top: 16px; border-top: 1px solid #ffffff4a; }
.today-world-local .today-world-month-number h2 { margin: 0 0 6px; color: #fff; font: 700 clamp(18px, 2.5vw, 22px)/1.25 Arial, sans-serif; letter-spacing: -.025em; text-transform: none; }
.today-world-month-number p { margin: 0; color: #e7efff; font-size: 14px; line-height: 1.5; }
.today-world-month-number strong { color: #fff; font-size: 18px; }
.today-world-local-nojs { margin: 12px 0 0; color: #fff; font-size: 13px; }
.today-world-month-calendar { max-width: 780px; margin-top: 18px; padding: 20px; border: 1px solid #d5e1f5; border-radius: 17px; background: #fff; box-shadow: 0 9px 25px #194bb90d; }
.today-world-month-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.today-world-month-calendar-head > div:first-child > span { color: #3664ad; font-size: 10px; font-weight: 800; letter-spacing: .1em; }
.today-world-month-calendar-head h2 { margin: 5px 0 0; color: var(--tw-ink); font-size: clamp(20px, 2.6vw, 25px); line-height: 1.2; }
.today-world-month-calendar-controls { display: flex; align-items: center; gap: 6px; }
.today-world-month-calendar-controls button { display: grid; place-items: center; min-width: 36px; min-height: 36px; padding: 0 9px; border: 1px solid #c7d7ef; border-radius: 9px; background: #f7faff; color: #1c4ca0; font: 700 12px Arial, sans-serif; cursor: pointer; }
.today-world-month-calendar-controls button:hover { border-color: #6f9ce3; background: #eaf2ff; }
.today-world-month-calendar-controls svg { width: 16px; height: 16px; }
.today-world-month-calendar-controls button:first-child svg { transform: rotate(180deg); }
.today-world-month-calendar-weekdays, .today-world-month-calendar-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.today-world-month-calendar-weekdays { margin-bottom: 7px; }
.today-world-month-calendar-weekdays span { color: #516b91; text-align: center; font-size: 11px; font-weight: 700; }
.today-world-month-calendar-days { margin: 0; padding: 0; list-style: none; }
.today-world-month-calendar-days li { display: grid; place-items: center; min-width: 0; min-height: 47px; border-radius: 9px; background: #f4f7fc; color: #1d3c68; font-size: 14px; font-weight: 700; }
.today-world-month-calendar-days li.is-outside { background: #fafcff; color: #617791; font-weight: 400; }
.today-world-month-calendar-days li.is-today { background: #245ad7; color: #fff; box-shadow: 0 5px 12px #245ad73d; }
.today-world-month-calendar-days time { display: grid; place-items: center; width: 100%; min-height: inherit; }
.today-world-month-calendar > p, .today-world-month-calendar noscript p { margin: 14px 0 0; color: var(--tw-muted); font-size: 12px; line-height: 1.45; }
.today-world-picker { padding: 22px 0 30px; border-bottom: 1px solid #d7e0ec; scroll-margin-top: 20px; }
.today-world-picker h2, .today-world-directory-heading h2 { margin: 0 0 8px; color: var(--tw-ink); font: 700 clamp(22px, 3vw, 28px)/1.2 Arial, sans-serif; letter-spacing: -.035em; }
.today-world-picker-intro, .today-world-directory-heading p { max-width: 740px; margin: 0; color: var(--tw-muted); font-size: 14px; line-height: 1.55; }
.today-world-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; max-width: 780px; margin-top: 18px; }
.today-world-controls label { display: block; min-width: 0; color: #294467; font-size: 13px; font-weight: 700; }
.today-world-controls select { display: block; width: 100%; min-width: 0; min-height: 46px; margin-top: 7px; padding: 9px 12px; border: 1px solid #b9c8de; border-radius: 9px; background: #fff; color: var(--tw-ink); font: 600 15px Arial, sans-serif; }
.today-world-picked { max-width: 780px; margin-top: 20px; padding: 20px; border: 1px solid #b8cef7; border-radius: 16px; background: linear-gradient(145deg, #edf4ff, #e5efff); box-shadow: 0 9px 25px #194bb910; }
.today-world-picked h3 { margin: 0 0 15px; color: #1b4ea8; font-size: 16px; line-height: 1.35; }
.today-world-picked-weekday { margin: 0 0 12px; color: var(--tw-ink); font-size: clamp(20px, 2.5vw, 26px); font-weight: 700; line-height: 1.2; letter-spacing: -.025em; }
.today-world-picked-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; max-width: 550px; }
.today-world-picked-tile { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; min-height: 90px; padding: 12px 14px; border: 1px solid #d1dffa; border-radius: 11px; background: #fff; }
.today-world-picked-tile span, .today-world-picked-details span { display: block; color: #375d96; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.today-world-picked-tile strong { display: block; color: #174aa7; font-size: clamp(25px, 3vw, 33px); line-height: 1.1; letter-spacing: -.045em; }
.today-world-picked-tile:nth-child(2) strong { font-size: clamp(23px, 2.7vw, 30px); }
.today-world-picked-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; max-width: 550px; margin-top: 9px; }
.today-world-picked-details > div { min-width: 0; padding: 12px 14px; border: 1px solid #c8d9f8; border-radius: 11px; background: #f6f9ff; }
.today-world-picked-details strong { display: block; margin-top: 6px; color: var(--tw-ink); font-size: 17px; line-height: 1.25; overflow-wrap: anywhere; }
.today-world-picked-details > div:last-child strong { font-size: 13px; }
.today-world-picked-zone-code { max-width: 550px; margin: 10px 0 0; color: #36567f; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.today-world-picked-zone-code span { font-weight: 700; }
.today-world-zone-note { max-width: 780px; margin: 11px 0 0; color: var(--tw-muted); font-size: 12px; line-height: 1.55; }
.today-world-directory { padding-top: 30px; }
.today-world-directory-heading { display: flex; justify-content: space-between; align-items: start; gap: 14px; }
.today-world-directory-heading .today-world-label { display: none; }
.today-world-count { flex: 0 0 auto; color: var(--tw-muted); font-size: 12px; font-weight: 700; }
.today-world-search { display: flex; align-items: center; gap: 8px; width: min(470px, 100%); min-height: 46px; margin: 22px 0 8px; padding: 0 13px; border: 1px solid #b9c8de; border-radius: 9px; background: #fff; color: #305caa; }
.today-world-search > span:first-child { font-size: 24px; line-height: 1; }
.today-world-search input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--tw-ink); font: 15px Arial, sans-serif; }
.today-world-search input::placeholder { color: #526789; opacity: 1; }
.today-world-results { margin: 0 0 11px; color: var(--tw-muted); font-size: 12px; }
.today-world-table-wrap { max-height: 590px; overflow: auto; border: 1px solid #d6e0ec; border-radius: 10px; background: #fff; }
.today-world-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.today-world-table th, .today-world-table td { padding: 12px 15px; border-bottom: 1px solid #e1e7f0; text-align: left; vertical-align: middle; }
.today-world-table thead th { position: sticky; top: 0; z-index: 1; background: #eef3fb; color: #344e72; font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }
.today-world-table tbody tr:hover { background: #f0f5ff; }
.today-world-table tbody tr:last-child th, .today-world-table tbody tr:last-child td { border-bottom: 0; }
.today-world-table tbody th { width: 54%; font-size: 14px; }
.today-world-table tbody th button { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: transparent; color: #143d7c; text-align: left; font: 700 14px/1.35 Arial, sans-serif; cursor: pointer; }
.today-world-table tbody th button span { color: #315db2; }
.today-world-table tbody th small { display: block; margin-top: 3px; color: var(--tw-muted); font-size: 11px; font-weight: 400; overflow-wrap: anywhere; }
.today-world-table td { color: #2f4869; font-size: 13px; }
.today-world-table td time { display: block; }
.today-world-table td time::first-letter { text-transform: uppercase; }
.today-world-table td span { display: block; margin-top: 3px; color: #1c4fb4; font-weight: 700; }
.today-world-empty { margin: 14px 0 0; color: var(--tw-muted); font-size: 13px; }
.today-world-guide { margin-top: 31px; }
.today-world-guide h2 { margin: 27px 0 9px; color: var(--tw-ink); font: 700 21px/1.28 Arial, sans-serif; }
.today-world-guide h2:first-child { margin-top: 0; }
.today-world-guide :is(p, li) { max-width: 790px; margin: 0 0 12px; color: var(--tw-muted); font-size: 14px; line-height: 1.7; }
.today-world-guide a { color: #174baa; text-decoration: underline; }
.today-world-other-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 24px 0; }
.today-world-other-links a { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; align-items: center; min-width: 0; padding: 17px 18px; border: 1px solid #d7e2f2; border-radius: 14px; background: #fff; color: #163a72; text-decoration: none; }
.today-world-other-links a:hover { border-color: #5b8ee1; background: #f3f7ff; }
.today-world-other-links a > span { grid-column: 1; color: var(--tw-muted); font-size: 11px; }
.today-world-other-links strong { grid-column: 1; font-size: 15px; line-height: 1.3; }
.today-world-other-links svg { grid-column: 2; grid-row: 1 / span 2; width: 19px; height: 19px; }
.today-world > .share-panel { margin-top: 25px; }
.today-world :is(a, button, input, select, .today-world-table-wrap):focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
@media (min-width: 900px) {
  .today-world-lead { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
  .today-world-local { grid-column: 1 / -1; }
  .today-world-date-tiles { max-width: none; }
  .today-world-local-full-date { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: baseline; gap: 16px; }
  .today-world-local-full-date > span { margin-bottom: 0; }
  .today-world-local-full-date > div { justify-content: space-between; }
  .today-world-month-calendar { width: 100%; max-width: none; margin-top: 0; }
  .today-world-picker { min-width: 0; padding: 22px; border: 1px solid #d5e1f5; border-radius: 17px; background: #fff; box-shadow: 0 9px 25px #194bb90d; }
  .today-world-controls { grid-template-columns: 1fr; }
  .today-world-picked { padding: 17px; }
}
@media (max-width: 620px) {
  .page-today-world { padding-top: 20px; }
  .today-world-heading p { font-size: 14px; }
  .today-world-local { padding: 18px 16px; border-radius: 14px; }
  .today-world-local-layout { grid-template-columns: 1fr; gap: 12px; }
  .today-world-local-weekday { margin-bottom: 12px; font-size: 25px; }
  .today-world-date-tiles { gap: 7px; }
  .today-world-date-tile { min-height: 85px; padding: 11px 9px; border-radius: 10px; }
  .today-world-date-tile span { font-size: 10px; }
  .today-world-date-tile strong { font-size: 28px; }
  .today-world-date-tile:nth-child(2) strong { font-size: 23px; }
  .today-world-local-details { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .today-world-local-details > div { padding: 11px 10px; border-radius: 10px; }
  .today-world-local-details strong { font-size: 17px; }
  .today-world-local-details > div:last-child strong { font-size: 12px; }
  .today-world-local-full-date { margin-top: 15px; padding-top: 13px; }
  .today-world-local-full-date time:first-child { font-size: 19px; }
  .today-world-local-full-date time:last-child { font-size: 13px; }
  .today-world-month-number { margin-top: 15px; padding-top: 13px; }
  .today-world-month-calendar { margin-top: 14px; padding: 15px 13px; border-radius: 14px; }
  .today-world-month-calendar-head { flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
  .today-world-month-calendar-head h2 { font-size: 21px; }
  .today-world-month-calendar-controls { margin-left: auto; }
  .today-world-month-calendar-weekdays, .today-world-month-calendar-days { gap: 4px; }
  .today-world-month-calendar-weekdays span { font-size: 10px; }
  .today-world-month-calendar-days li { min-height: 39px; font-size: 13px; }
  .today-world-picker { padding-top: 20px; }
  .today-world-controls { grid-template-columns: 1fr; }
  .today-world-picked { padding: 15px 13px; border-radius: 13px; }
  .today-world-picked h3 { margin-bottom: 12px; font-size: 14px; }
  .today-world-picked-weekday { font-size: 22px; }
  .today-world-picked-tiles, .today-world-picked-details { gap: 7px; }
  .today-world-picked-tile { min-height: 82px; padding: 10px 9px; }
  .today-world-picked-tile strong { font-size: 27px; }
  .today-world-picked-tile:nth-child(2) strong { font-size: 23px; }
  .today-world-picked-details > div { padding: 10px 9px; }
  .today-world-picked-details strong { font-size: 16px; }
  .today-world-picked-details > div:last-child strong { font-size: 12px; }
  .today-world-directory-heading { display: block; }
  .today-world-count { display: block; margin-top: 10px; }
  .today-world-search { margin-top: 19px; }
  .today-world-table th, .today-world-table td { padding: 11px 9px; }
  .today-world-table tbody th button { font-size: 12px; }
  .today-world-table tbody th small { font-size: 11px; }
  .today-world-table td { font-size: 11px; }
  .today-world-other-links { grid-template-columns: 1fr; }
}
