/* AI Rep Counter — extras on top of the standard counter-card (counters-bundle.css)
   and the v2 editorial page layout. Video stage + HUD are dark by nature;
   in-card controls use bundle vars so they follow the site theme. */

/* Video stage (replaces counter-main during a session) */
.airc-stage{position:relative;border-radius:.9rem;overflow:hidden;background:#000;margin:.25rem .9rem .5rem}
.airc-stage video{width:100%;display:block;transform:scaleX(-1)}
.airc-stage canvas{position:absolute;inset:0;width:100%;height:100%;transform:scaleX(-1);pointer-events:none}
/* Fullscreen: the whole counter card, like every other counter — header,
   name, mute, options, and picker stay visible; the video expands to fill. */
.airc-card2:fullscreen{background:var(--bg-secondary,#12121c);display:flex;flex-direction:column;overflow-y:auto;border-radius:0}
.airc-card2:fullscreen .airc-stage{flex:1;min-height:0}
.airc-card2:fullscreen .airc-stage video,.airc-card2:fullscreen .airc-stage canvas{height:100%;object-fit:contain}
.airc-card2:fullscreen .counter-main{flex:1;display:flex;align-items:center;justify-content:center}
.airc-card2.airc-fs-fallback{position:fixed;inset:0;z-index:2000;border-radius:0;display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-secondary,#12121c)}
.airc-card2.airc-fs-fallback .airc-stage{flex:1;min-height:0}
.airc-card2.airc-fs-fallback .airc-stage video,.airc-card2.airc-fs-fallback .airc-stage canvas{height:100%;object-fit:contain}
.airc-card2:fullscreen .airc-hud-btn,.airc-card2.airc-fs-fallback .airc-hud-btn{display:inline-flex}
.airc-hud{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:.85rem;pointer-events:none}
.airc-hud-top{display:flex;justify-content:space-between;align-items:flex-start}
.airc-hud-right{display:flex;gap:.5rem;align-items:center}
.airc-hud-btn{pointer-events:auto;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.35);color:#fff;width:2.1rem;height:2.1rem;border-radius:.5rem;cursor:pointer;display:none;align-items:center;justify-content:center}
.airc-stage:fullscreen .airc-hud-btn,.airc-fs-fallback .airc-hud-btn{display:inline-flex}
/* Count badge: white circle w/ opacity + strong white border; the outer
   conic ring doubles as the goal progress indicator. */
.airc-count-wrap{--airc-pct:0%;width:6.8rem;height:6.8rem;border-radius:50%;padding:.35rem;background:conic-gradient(#22c55e var(--airc-pct),rgba(255,255,255,.28) var(--airc-pct));box-shadow:0 2px 14px rgba(0,0,0,.55)}
.airc-count-wrap.goal-met{background:#22c55e}
.airc-count-inner{width:100%;height:100%;border-radius:50%;background:rgba(255,255,255,.32);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:3px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.airc-count{font-size:2.6rem;font-weight:900;line-height:1;color:#15803d;text-shadow:0 1px 3px rgba(255,255,255,.8)}
.airc-count-goal{font-size:.72rem;font-weight:700;color:#14532d;margin-top:.1rem}
.airc-count-goal:empty{display:none}
.airc-timer{background:rgba(0,0,0,.55);border-radius:.5rem;padding:.35rem .75rem;font-weight:700;font-size:1.05rem;color:#fff}
.airc-hud-bottom{display:flex;flex-direction:column;align-items:center;gap:.4rem}
.airc-cue{background:rgba(0,0,0,.55);border-radius:999px;padding:.45rem 1.15rem;font-size:1.05rem;font-weight:600;color:#fff}
.airc-cue[data-tone="warn"]{color:#facc15}
.airc-meter{background:rgba(0,0,0,.45);border-radius:.5rem;padding:.25rem .7rem;font-size:.78rem;color:rgba(255,255,255,.75);font-variant-numeric:tabular-nums;min-height:1.2em}
.airc-meter:empty{display:none}

/* In-card controls (follow site theme via bundle vars) */
.airc-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:0 .9rem;margin-top:.25rem}
.airc-picker button{background:transparent;border:1.5px solid var(--border-color,rgba(128,128,128,.35));border-radius:.6rem;color:var(--text-primary,inherit);padding:.55rem .25rem;font-size:.8rem;font-weight:700;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;align-items:center}
.airc-picker button i{font-size:1.05rem;opacity:.65}
.airc-picker button.is-active{border-color:#22c55e;color:#16a34a}
.airc-picker button.is-active i{color:#22c55e;opacity:1}
.airc-setup-hint{margin:.6rem .9rem 0;color:var(--text-secondary,#888);font-size:.8rem;display:flex;gap:.45rem;align-items:center}
.airc-setup-hint i{color:#22c55e}
.airc-goal{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin:.75rem .9rem 0}
.airc-goal-label{color:var(--text-secondary,#888);font-size:.82rem;font-weight:700}
.airc-goal-label i{color:#22c55e}
.airc-goal-chips{display:flex;gap:.35rem;flex-wrap:wrap}
.airc-goal-chips button{background:transparent;border:1.5px solid var(--border-color,rgba(128,128,128,.35));color:var(--text-primary,inherit);border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:700;cursor:pointer}
.airc-goal-chips button.is-active{border-color:#22c55e;background:rgba(34,197,94,.12);color:#16a34a}
.airc-goal-custom{width:4.8rem;background:transparent;border:1.5px solid var(--border-color,rgba(128,128,128,.35));color:var(--text-primary,inherit);border-radius:999px;padding:.25rem .7rem;font-size:.8rem}
.airc-controls{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:.9rem .9rem 0}
.airc-btn{border:none;border-radius:.6rem;padding:.75rem 1.4rem;font-size:.95rem;font-weight:800;cursor:pointer;flex:1}
.airc-btn-start{background:#22c55e;color:#052e16}
.airc-btn-start:hover{filter:brightness(1.08)}
.airc-btn-start:disabled{opacity:.5;cursor:wait}
.airc-btn-stop{background:#ef4444;color:#fff}
.airc-btn-ghost{background:transparent;color:var(--text-primary,inherit);border:1.5px solid var(--border-color,rgba(128,128,128,.35));flex:0 1 auto}
.airc-demo-note{color:var(--text-secondary,#888);font-size:.75rem;margin:.6rem .9rem 0;min-height:1em}
.airc-loading{display:flex;gap:.6rem;align-items:center;color:#16a34a;margin:.6rem .9rem 0;font-size:.85rem}
.airc-spin{width:1rem;height:1rem;border:2px solid rgba(34,197,94,.3);border-top-color:#22c55e;border-radius:50%;animation:aircspin .8s linear infinite}
@keyframes aircspin{to{transform:rotate(360deg)}}

/* Header extras */
.counter-header-btn.is-off{opacity:.4}
.counter-header-btn.is-off i::before{content:"\f6a9"} /* volume-xmark */
.airc-menu-wrap{position:relative;display:inline-flex}
.airc-menu{position:absolute;top:110%;right:0;z-index:50;min-width:15rem;background:var(--bg-tertiary,#1e1e2e);border:1px solid var(--border-color,rgba(128,128,128,.3));border-radius:.7rem;padding:.8rem;box-shadow:0 8px 24px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:.6rem}
.airc-menu[hidden]{display:none} /* display:flex above beats the [hidden] UA rule without this */
.airc-menu label{font-size:.78rem;font-weight:700;color:var(--text-secondary,#888);display:flex;flex-direction:column;gap:.3rem}
.airc-menu select{background:transparent;border:1.5px solid var(--border-color,rgba(128,128,128,.35));color:var(--text-primary,inherit);border-radius:.5rem;padding:.4rem .5rem;font-size:.85rem;max-width:100%}
.airc-menu a{color:var(--text-primary,inherit);font-size:.85rem;font-weight:600;text-decoration:none}
.airc-menu a i{color:#22c55e;margin-right:.35rem}

/* Overlays (session summary / upsell) — dark modals on any theme */
.airc-overlay{position:fixed;inset:0;background:rgba(5,5,12,.85);display:flex;align-items:center;justify-content:center;z-index:2100;padding:1rem}
.airc-overlay[hidden]{display:none}
.airc-modal{background:#16213e;border:1px solid rgba(255,255,255,.15);border-radius:1rem;padding:2rem;max-width:440px;text-align:center;color:#fff}
.airc-modal h3{margin:0 0 .75rem;font-size:1.35rem;color:#fff}
.airc-modal p{color:rgba(255,255,255,.75);line-height:1.6;margin:0 0 1.25rem}
.airc-modal .airc-btn{margin:.25rem;flex:0 1 auto;text-decoration:none;display:inline-block}

/* Pro strip on the v2 page */
.airc-pro-strip{display:flex;gap:1rem;align-items:center;background:#16213e;border:1px solid rgba(34,197,94,.4);border-radius:1rem;padding:1.1rem 1.5rem;flex-wrap:wrap;color:#fff}
.airc-pro-strip i{color:#22c55e;font-size:1.5rem}
.airc-pro-strip p{margin:0;color:rgba(255,255,255,.85);flex:1;min-width:220px}
.airc-pro-strip a{background:#22c55e;color:#052e16;font-weight:700;padding:.6rem 1.25rem;border-radius:.6rem;text-decoration:none;white-space:nowrap}

@media (max-width:640px){.airc-count-wrap{width:5.2rem;height:5.2rem}.airc-count{font-size:2rem}.airc-picker{grid-template-columns:repeat(2,1fr)}}
