/* Reference lock: existing BomberoFlash blue, Manrope, restrained medal hierarchy.
   No scoring or study-selection changes. Compact sidebar + responsive podium. */
#mainSidebar.bf-sidebar #sidebarLogo .sl-helmet,
#mainSidebar.bf-sidebar #sidebarLogo:hover .sl-helmet {
  flex:0 0 48px; width:48px!important; height:48px!important;
  background:none!important; border:0!important; box-shadow:none!important;
}
#sidebarLogo .sl-helmet img { width:48px; height:48px; object-fit:contain; mix-blend-mode:normal; }
#sidebarLogo:focus-visible { outline:2px solid #93c5fd; outline-offset:-4px; }
.bf-motivation-author { display:block; margin-top:8px; color:#cbd5e1; font-size:11px; line-height:1.4; letter-spacing:.015em; }
#sideAccountEmail:not([hidden]) { display:block; margin-top:3px; font-size:12px; line-height:1.4; color:#475569; }
#sideAccountEmail[hidden] { display:none!important; }
.bf-leader-head span { color:var(--bf-brand-strong,#1d4ed8); }
.bf-leader-note { color:#475569; line-height:1.6; max-width:85ch; }
.bf-leader-periods button.is-active,.bf-leader-days summary { color:var(--bf-brand-strong,#1d4ed8); }
.bf-leader-row.is-me { background:#eff6ff; border-color:#93c5fd; }
.bf-leader-name span { background:#dbeafe; color:#1e40af; }
.bf-leader-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:end; margin:34px 0 10px; }
.bf-leader-podium-card { position:relative; display:flex; flex-direction:column; align-items:center; min-width:0; padding:24px 16px 26px; border:1px solid #dbe5f2; border-radius:20px; background:linear-gradient(180deg,#f8fafc,#fff); text-align:center; color:#0f172a; }
.bf-leader-podium-card.is-layout-1 { order:2; }
.bf-leader-podium-card.is-layout-2 { order:1; }
.bf-leader-podium-card.is-layout-3 { order:3; }
.bf-leader-podium-card.is-seat-1 { padding-top:32px; background:linear-gradient(160deg,#172f56,#1e40af); color:#fff; border-color:#1e40af; box-shadow:0 14px 28px -20px #1d4ed8; }
.bf-leader-podium-card.is-me { outline:2px solid #60a5fa; outline-offset:3px; }
.bf-leader-podium-laurel { display:grid; place-items:center; position:absolute; top:-18px; width:38px; height:38px; border-radius:50%; color:#475569; background:#e2e8f0; border:4px solid #fff; font-weight:800; }
.is-seat-1 .bf-leader-podium-laurel { color:#fff; background:#1d4ed8; width:44px; height:44px; top:-22px; }
.is-seat-3 .bf-leader-podium-laurel { background:#e8ddd5; color:#69472f; }
.bf-leader-podium-laurel svg { width:25px; height:25px; }
.bf-leader-avatar { display:grid; place-items:center; width:52px; height:52px; border:1px solid #dbe5f2; border-radius:18px; background:#fff; color:#1e40af; font-size:18px; font-weight:800; margin:4px 0 12px; }
.is-seat-1 .bf-leader-avatar { width:62px; height:62px; border-color:#93c5fd; background:rgba(255,255,255,.12); color:#fff; }
.bf-leader-podium-card .bf-leader-name { max-width:100%; font-size:16px; white-space:normal; overflow-wrap:anywhere; line-height:1.4; color:inherit; }
.bf-leader-podium-place { font-size:12px; letter-spacing:.015em; margin-top:4px; color:#475569; }
.is-seat-1 .bf-leader-podium-place,.is-seat-1 .bf-leader-podium-accuracy { color:#dbeafe; }
.bf-leader-podium-questions { display:block; margin-top:16px; font-size:34px; line-height:1.1; font-variant-numeric:tabular-nums; letter-spacing:-.025em; }
.bf-leader-podium-questions small { display:block; margin-top:4px; font-size:12px; font-weight:600; letter-spacing:.015em; }
.bf-leader-podium-accuracy { margin-top:12px; padding:5px 10px; border-radius:20px; background:rgba(148,163,184,.12); font-size:12px; color:#475569; }
.bf-leader-podium-card.is-seat-1:only-child { grid-column:1/-1; max-width:430px; width:100%; justify-self:center; }
.bf-pomo { margin:8px 0 16px; padding:18px 14px; border:1px solid #dbe5f2; border-radius:18px; background:#fff; color:#0f172a; box-shadow:0 8px 22px -18px #1e40af; }
.bf-pomo-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.bf-pomo-head span { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; color:#1e40af; }
.bf-pomo-head h2 { margin:3px 0 16px; font-size:16px; font-weight:800; }
.bf-pomo-head>svg { width:22px; height:22px; color:#1d4ed8; }
.bf-pomo-tabs { display:flex; padding:4px; gap:2px; border-radius:12px; background:#f1f5f9; }
.bf-pomo button { min-height:40px; border:1px solid #dbe5f2; border-radius:10px; padding:8px; background:#fff; color:#334155; font-size:12px; font-weight:700; cursor:pointer; transition:background-color 120ms ease-out; }
.bf-pomo button:disabled { opacity:.55; cursor:not-allowed; }
.bf-pomo button:hover:not(:disabled) { background:#eff6ff; }
.bf-pomo button:focus-visible,.bf-pomo input:focus-visible,.bf-pomo summary:focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.bf-pomo-tabs button { flex:1; border:0; background:transparent; }
.bf-pomo-tabs button[aria-pressed="true"] { background:#fff; color:#1e40af; box-shadow:0 1px 4px #0f172a14; }
.bf-pomo-clock { position:relative; width:min(100%,220px); aspect-ratio:1; margin:8px auto; }
.bf-pomo-clock svg { display:block; width:100%; height:100%; transform:rotate(-90deg); }
.bf-pomo-clock circle { fill:none; stroke-width:9; }
.bf-pomo-track { stroke:#eaf0f8; }
#pomodoroRingPath { stroke:#2563eb; stroke-linecap:round; stroke-dasharray:565.49; stroke-dashoffset:0; transition:stroke-dashoffset 200ms ease-out; }
.bf-pomo-clock-face { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; }
.bf-pomo-clock-face>span { font-size:12px; color:#475569; }
#pomodoroTime { font-size:43px; line-height:1; font-weight:800; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.bf-pomo-cycles { display:flex; gap:6px; padding-top:3px; }
.bf-pomo-cycle { width:7px; height:7px; border-radius:50%; background:#e2e8f0; }
.bf-pomo-cycle.is-done { background:#2563eb; }
.bf-pomo-status { font-size:11px; text-align:center; color:#475569; min-height:28px; line-height:1.4; letter-spacing:.015em; }
.bf-pomo-controls { display:flex; gap:8px; margin-bottom:16px; }
.bf-pomo-controls .bf-pomo-primary { flex:1; background:#2563eb; color:#fff; border-color:#2563eb; }
.bf-pomo .bf-pomo-controls .bf-pomo-primary:hover { background:#1d4ed8; }
.bf-pomo-controls>button:last-child { width:44px; }
.bf-pomo-controls svg { width:18px; height:18px; margin:auto; }
.bf-pomo-goal { display:block; font-size:12px; font-weight:600; }
.bf-pomo input:not([type="checkbox"]) { width:100%; min-width:0; box-sizing:border-box; min-height:40px; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:#0f172a; font-size:13px; padding:8px; margin-top:6px; }
.bf-pomo-today { display:flex; flex-direction:column; gap:3px; margin:14px 0; padding:12px; background:#f8fafc; border-radius:12px; font-size:12px; }
.bf-pomo-today span { color:#475569; }
.bf-pomo-settings { border-top:1px solid #e2e8f0; padding-top:10px; }
.bf-pomo-settings summary { cursor:pointer; min-height:36px; line-height:36px; font-size:12px; font-weight:700; color:#1e40af; }
.bf-pomo-presets { display:flex; gap:6px; margin:8px 0 12px; }
.bf-pomo-presets button { flex:1; }
.bf-pomo-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; font-size:12px; }
#pomodoroApply { width:100%; margin:12px 0; }
.bf-pomo-sound { display:flex; align-items:center; gap:8px; font-size:12px; }
.bf-pomo-sound input { width:18px; height:18px; accent-color:#2563eb; }
.bf-pomo-settings p { font-size:11px; line-height:1.55; color:#475569; margin:12px 0 0; }
.bf-pomo-nav-time { font-size:12px; font-variant-numeric:tabular-nums; color:#1e40af; }
@media(max-width:560px) {
  .bf-leader-podium { gap:8px; margin-top:28px; }
  .bf-leader-podium-card { padding:18px 8px; border-radius:14px; }
  .bf-leader-podium-card.is-seat-1 { padding-top:24px; }
  .bf-leader-avatar { width:38px; height:38px; border-radius:12px; font-size:14px; }
  .is-seat-1 .bf-leader-avatar { width:44px; height:44px; }
  .bf-leader-podium-card .bf-leader-name { font-size:13px; }
  .bf-leader-podium-questions { font-size:26px; }
  .bf-leader-podium-place,.bf-leader-podium-accuracy { font-size:11px; }
  .bf-leader-podium-accuracy { padding:4px; }
}
@media(prefers-reduced-motion:reduce) { #pomodoroRingPath { transition:none; } }
.bf-reduce-motion #pomodoroRingPath { transition:none; }
