@import url("/assets/pulso-tokens.css?v=ad4f223aaed5");
/* Pulso → existing app aliases. Keep legacy keys for gradual migration. */
:root, :root[data-theme="light"] {
  --ob-bg:var(--p-bg); --ob-surface:var(--p-surface); --ob-surface-raised:var(--p-surface-raised); --ob-border:var(--p-border);
  --ob-text:var(--p-text); --ob-text-muted:var(--p-text-muted); --ob-brand:var(--p-brand); --ob-brand-ink:#101329; --ob-brand-soft:var(--p-brand-soft);
  --ob-success:var(--p-success); --ob-warning:var(--p-warning); --ob-danger:var(--p-danger); --ob-info:var(--p-info);
  --ob-font:var(--p-font-body); --ob-display:var(--p-font-display); --ob-radius-sm:var(--p-radius-xs); --ob-radius-md:var(--p-radius-sm); --ob-radius-lg:var(--p-radius-md);
  --ob-space-1:4px; --ob-space-2:8px; --ob-space-3:12px; --ob-space-4:16px; --ob-space-6:24px; --ob-space-8:32px; --ob-space-12:48px;
  --ob-shadow:0 16px 48px #0003;
  --bg:var(--ob-bg); --bg2:var(--ob-surface-raised); --card:var(--ob-surface); --card2:var(--ob-surface-raised); --header:var(--ob-bg); --glass:var(--ob-surface);
  --border:var(--ob-border); --border-soft:var(--ob-border); --border-strong:var(--p-border-control); --text:var(--ob-text); --muted:var(--ob-text-muted); --neutral:var(--ob-text-muted);
  --accent:var(--ob-brand); --accent-dim:var(--ob-brand-soft); --accent-line:var(--ob-brand); --gold:var(--ob-warning); --red:var(--ob-danger); --blue:var(--ob-info);
  --r-md:var(--ob-radius-md); --r-lg:var(--ob-radius-lg); --brand-ink:var(--ob-text); --color-brand-soft:var(--ob-brand-soft);
  color-scheme:dark;
}
:root[data-theme="light"] { color-scheme:light; --ob-brand-ink:#fff; }
*, *::before, *::after { box-sizing: border-box; }
:where(button,input,select,textarea) { font: inherit; }
:where(button,a,input,select,textarea,[role="button"]):focus-visible { outline: 3px solid var(--ob-brand); outline-offset: 4px; }
.ob-button { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 44px; padding: 10px 18px; border-radius: var(--ob-radius-sm); border: 1px solid var(--ob-border); background: var(--ob-surface); color: var(--ob-text); text-decoration: none; font-size: 14px; font-weight: 600; cursor: pointer; }
.ob-button:hover { border-color: var(--ob-brand); }
.ob-button.primary { background: var(--p-action); color: var(--p-action-ink); border-color: transparent; }
.ob-button:disabled { opacity: .45; cursor: not-allowed; }
.ob-chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid var(--ob-border); border-radius: 6px; font-size: 12px; font-weight: 600; line-height: 1.3; }
.ob-chip.live { color: var(--ob-danger); }
.ob-chip.live::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ob-chip.caution { color: var(--ob-warning); }
.ob-chip.info { color: var(--ob-info); }
.ob-muted { color: var(--ob-text-muted); }
.ob-number { font-variant-numeric: tabular-nums; font-family: var(--ob-display); letter-spacing: -.04em; }
.ob-panel { background: var(--ob-surface); border: 1px solid var(--ob-border); border-radius: var(--ob-radius-lg); }
.ob-feature { width: 100%; position: relative; overflow: hidden; text-align: left; padding: 22px; background: var(--ob-surface); color: var(--ob-text); border: 1px solid var(--ob-border); border-radius: var(--ob-radius-lg); display: flex; flex-direction: column; gap: 20px; font: inherit; }
button.ob-feature { cursor: pointer; transition: border-color .18s ease, background .18s ease; }
button.ob-feature:hover { border-color: var(--ob-brand); background: var(--ob-brand-soft); }
.ob-feature-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; color: var(--ob-text-muted); }
.ob-feature-head .liga-tag { font-size: 12px; font-weight: 500; }
.ob-feature-teams { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: 14px; align-items: center; text-align: center; }
.ob-feature-team { display: grid; justify-items: center; gap: 12px; min-width: 0; font-size: 15px; font-weight: 600; }
.ob-feature-team img { width: 44px; height: 44px; object-fit: contain; }
.ob-feature-team img:not(.crest) { height: 30px; border-radius: 4px; }
.ob-feature-team span { max-width: 100%; overflow-wrap: anywhere; }
.ob-feature-time { display: grid; justify-items: center; gap: 5px; }
.ob-feature-time strong { font: 500 29px/1.2 var(--ob-display); letter-spacing: -.04em; }
.ob-feature-time small { font-size: 12px; color: var(--ob-text-muted); }
.ob-feature-foot { border-top: 1px solid var(--ob-border); padding-top: 14px; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 12px; color: var(--ob-text-muted); }
.ob-feature-foot b { color: var(--ob-brand); font-weight: 600; }
.ob-notice { padding: 16px; border: 1px solid var(--ob-border); border-left: 3px solid var(--ob-warning); border-radius: var(--ob-radius-sm); font-size: 14px; line-height: 1.6; color: var(--ob-text-muted); }
.ob-notice strong { display: block; color: var(--ob-text); margin-bottom: 4px; }
.ob-notice.error { border-left-color: var(--ob-danger); }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }

.ob-chip .dia-pill { background:none; border:0; padding:0; border-radius:0; color:inherit; font-size:inherit; }
