/*! Brew Cycle — Copyright (c) 2026 M7slabs. All rights reserved. Proprietary, closed source. */
/* Scoped to .brew-cycle so it never fights the theme */

.brew-cycle{
  --bc-ground:#EFEBE6;
  --bc-ink:#221A15;
  --bc-ink-2:#6F635A;
  --bc-line:#D8D0C7;
  --bc-stage:#FFFFFF;
  --bc-stage-line:#E3DCD3;
  --bc-rail:#D9D1C8;
  --bc-accent:#FF7E01;
  --bc-ctrl:#FFFFFF;
  --bc-ctrl-ink:#221A15;
  --bc-ctrl-line:#D8D0C7;
  --bc-focus:#FF7E01;
}
.brew-cycle,.brew-cycle *{box-sizing:border-box}
.brew-cycle button{font:inherit;color:inherit;margin:0;line-height:1;box-shadow:none;text-transform:none;letter-spacing:0}
.brew-cycle button:focus-visible,.brew-cycle a:focus-visible{outline:2px solid var(--bc-focus);outline-offset:3px}
.brew-cycle .bc-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}

/* ── minimal layout: the animation only, centred ─────────────── */
.brew-cycle.bc-layout-minimal{display:flex;align-items:center;justify-content:center;padding:24px;background:transparent}
.brew-cycle.bc-layout-minimal.bc-full{min-height:100vh;min-height:100dvh}
.brew-cycle.bc-layout-minimal .bc-stage{position:relative;width:min(70vmin,520px);max-width:100%;aspect-ratio:1}
.brew-cycle.bc-layout-minimal .bc-anim{position:absolute;inset:0;opacity:0;transition:opacity .15s ease}
.brew-cycle.bc-layout-minimal .bc-anim.bc-on{opacity:1}
.brew-cycle.bc-layout-minimal .bc-anim svg{display:block;max-width:100%}

/* ── full layout (shortcode in a page) ───────────────────────── */
.brew-cycle.bc-layout-full{
  background:var(--bc-ground);color:var(--bc-ink);
  font-family:"Helvetica Neue",Arial,sans-serif;line-height:1.4;
  max-width:1180px;margin:0 auto;padding:clamp(18px,3vw,40px);border-radius:20px;
  display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;gap:clamp(20px,3vw,36px);
}
.brew-cycle.bc-layout-full.bc-full{max-width:none;min-height:100vh;border-radius:0}
.brew-cycle.bc-layout-full.bc-full > *{max-width:1180px;width:100%;margin-left:auto;margin-right:auto}
.brew-cycle .bc-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px solid var(--bc-line)}
.brew-cycle .bc-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--bc-ink-2)}
.brew-cycle .bc-dot{width:8px;height:8px;border-radius:50%;background:var(--bc-accent)}
.brew-cycle .bc-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,470px);align-items:center;gap:clamp(24px,5vw,72px)}
.brew-cycle .bc-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.brew-cycle .bc-step-meta{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bc-ink-2)}
.brew-cycle .bc-step-title{margin:0;padding:0;color:var(--bc-ink);font-family:inherit;font-size:clamp(44px,7.5vw,92px);font-weight:700;line-height:.95;letter-spacing:-.025em;text-wrap:balance}
.brew-cycle .bc-step-desc{margin:0;font-size:clamp(17px,1.6vw,20px);line-height:1.45;color:var(--bc-ink-2);max-width:30ch}
.brew-cycle .bc-controls{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}
.brew-cycle .bc-ctl{width:48px;height:48px;padding:0;border-radius:50%;background:var(--bc-ctrl);border:1px solid var(--bc-ctrl-line);color:var(--bc-ctrl-ink);display:inline-grid;place-items:center;cursor:pointer;transition:transform .15s,border-color .15s}
.brew-cycle .bc-ctl:hover{border-color:var(--bc-ink);transform:translateY(-1px);background:var(--bc-ctrl)}
.brew-cycle .bc-ctl.bc-play,.brew-cycle .bc-ctl.bc-play:hover{width:60px;height:60px;background:var(--bc-ink);color:var(--bc-ground);border-color:var(--bc-ink)}
.brew-cycle .bc-ctl svg{width:20px;height:20px;fill:currentColor}
.brew-cycle .bc-ctl.bc-play svg{width:24px;height:24px}
.brew-cycle .bc-enter{margin-left:auto;padding:14px 22px;border-radius:999px;text-decoration:none;background:var(--bc-accent);color:#1A0E05;font-weight:700;font-size:15px}
.brew-cycle .bc-enter:hover{filter:brightness(1.05)}
.brew-cycle.bc-layout-full .bc-stage{position:relative;aspect-ratio:1;width:100%;max-width:100%;background:var(--bc-stage);border:1px solid var(--bc-stage-line);border-radius:28px;overflow:hidden;box-shadow:0 30px 60px -40px rgba(34,26,21,.45)}
.brew-cycle.bc-layout-full .bc-anim{position:absolute;inset:9%;opacity:0;transition:opacity .15s ease}
.brew-cycle.bc-layout-full .bc-anim.bc-on{opacity:1}
.brew-cycle.bc-layout-full .bc-anim svg{display:block;max-width:100%}
.brew-cycle .bc-badge{position:absolute;top:18px;left:20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8A7E74}
.brew-cycle .bc-timer{position:absolute;right:20px;bottom:16px;font-size:12px;color:#8A7E74}
.brew-cycle .bc-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-top:8px}
.brew-cycle .bc-seg{text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--bc-ink-2);display:flex;flex-direction:column;gap:12px;min-width:0;border-radius:4px}
.brew-cycle .bc-seg:hover{background:none}
.brew-cycle .bc-bar{height:4px;border-radius:2px;background:var(--bc-rail);overflow:hidden}
.brew-cycle .bc-bar i{display:block;height:100%;width:0;background:var(--bc-accent);border-radius:2px}
.brew-cycle .bc-seg.bc-done .bc-bar i{width:100%}
.brew-cycle .bc-lab{font-size:15px;font-weight:600;color:var(--bc-ink-2);transition:color .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brew-cycle .bc-dur{font-size:12px;color:var(--bc-ink-2);opacity:.8}
.brew-cycle .bc-seg.bc-on .bc-lab,.brew-cycle .bc-seg:hover .bc-lab{color:var(--bc-ink)}
@media (max-width:760px){
  .brew-cycle .bc-main{grid-template-columns:minmax(0,1fr)}
  .brew-cycle.bc-layout-full .bc-stage{order:-1;max-width:440px;margin:0 auto}
  .brew-cycle .bc-rail{gap:8px}
  .brew-cycle .bc-lab{font-size:13px}
  .brew-cycle .bc-dur{display:none}
}

/* ── splash overlay ──────────────────────────────────────────── */
html.bc-overlay-open{overflow:hidden}
.bc-overlay{position:fixed;inset:0;z-index:2147483000;overflow:auto;background:#FFFFFF;opacity:1;transition:opacity .5s ease;display:flex;align-items:center;justify-content:center}
.bc-overlay.bc-hide{opacity:0;pointer-events:none}
.bc-overlay .brew-cycle{width:100%}
.bc-overlay .bc-skip{
  position:fixed;top:16px;right:18px;z-index:2;border:0;background:transparent;cursor:pointer;
  font:600 12px/1 "Helvetica Neue",Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#9A9086;padding:10px 12px;border-radius:999px;
}
.bc-overlay .bc-skip:hover{color:#FF7E01}
@media (prefers-reduced-motion:reduce){ .bc-overlay,.brew-cycle .bc-anim,.brew-cycle .bc-ctl{transition:none} }

/* ── settings-page preview ───────────────────────────────────── */
.bc-preview{background:#fff;border:1px solid #c3c4c7;border-radius:4px;padding:12px 16px 14px}
.bc-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.bc-preview .brew-cycle.bc-layout-minimal{padding:8px;border:1px dashed #dcdcde;border-radius:4px}
.bc-preview .brew-cycle.bc-layout-minimal .bc-stage{width:300px}
.bc-preview .bc-preview-note{margin:8px 0 0;color:#646970;font-size:12px}
