/* CardFoundary Bingo Studio: front-end styles. Loaded only on pages that use the plugin. */
.cfb-app,.cfb-host,.cfb-player,.cfb-projectbar,.cfb-notfound{
	--cfb-ink:#14162d;--cfb-mute:#6a6679;--cfb-paper:#f4f5ff;--cfb-line:#e7e5ef;--cfb-accent:#6f68e8;--cfb-accent-d:#5a52d6;--cfb-coral:#ff6a5d;--cfb-sun:#ffd0c4;--cfb-bad:#c0392b;--cfb-ok:#0f7b3f;--cfb-accent-a:rgba(111,104,232,.2);--cfb-btn-a:#ff846d;--cfb-btn-b:#ff5d62;--cfb-btn-shadow:rgba(255,93,98,.26);--cfb-btn-shadow-h:rgba(255,93,98,.35);--cfb-mark:rgba(255,106,93,.22);--cfb-mark-ring:rgba(255,106,93,.9);--cfb-serif:Georgia,'Times New Roman',serif;
	box-sizing:border-box;color:var(--cfb-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;
}
.cfb-app *,.cfb-host *,.cfb-player *{box-sizing:border-box}
.cfb-standalone{margin:0;background:radial-gradient(circle at 7% 7%,#f1edff 0,transparent 23%),radial-gradient(circle at 96% 16%,#fff0e8 0,transparent 25%),#fffdfb}
.cfb-standalone__main{max-width:1280px;margin:0 auto;padding:16px}
.cfb-brand{font-weight:800;letter-spacing:-.01em;color:var(--cfb-accent)}
.cfb-projectbar{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:4px 0 12px}
.cfb-projectbar__note{color:var(--cfb-mute);font-size:14px}

.cfb-panel{background:#fff;border:1px solid var(--cfb-line);border-radius:10px;padding:16px}
.cfb-layout{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:20px;align-items:start}
.cfb-stage{position:sticky;top:12px}
@media (max-width:860px){.cfb-layout{grid-template-columns:1fr}.cfb-stage{position:static;order:-1}}
.cfb-section{border:0;margin:0 0 18px;padding:0;min-width:0}
.cfb-section>legend{font-weight:800;font-size:15px;padding:0 0 8px;margin:0}
.cfb-field{margin:0 0 12px}
.cfb-field label,.cfb-host label,.cfb-player label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.cfb-field--check label{display:flex;gap:8px;align-items:center;font-weight:500}
.cfb-field--range label{display:flex;justify-content:space-between}
.cfb-field--range output{font-weight:400;color:var(--cfb-mute)}
.cfb-field--color{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cfb-field--color label{margin:0}
.cfb-field--color input{width:44px;height:30px;padding:0;border:1px solid var(--cfb-line);border-radius:6px;background:#fff}
.cfb-app input[type=text],.cfb-app input[type=url],.cfb-app input[type=number],.cfb-app select,.cfb-app textarea,.cfb-host input[type=text],.cfb-host input[type=password],.cfb-player input[type=text]{
	width:100%;padding:9px 10px;border:1px solid #b9c0cc;border-radius:7px;background:#fff;color:var(--cfb-ink);font:inherit;min-height:40px}
.cfb-app textarea{resize:vertical;min-height:140px;line-height:1.4}
.cfb-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.cfb-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px;align-items:end}
@media (max-width:640px){.cfb-row3{grid-template-columns:1fr}}
.cfb-inputrow{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.cfb-inputrow>input{flex:1 1 180px;width:auto}
.cfb-count{margin:6px 0 0;font-size:13px;color:var(--cfb-mute)}
.cfb-count.is-warn{color:var(--cfb-bad);font-weight:600}
.cfb-hint{font-size:13px;color:var(--cfb-mute);margin:4px 0}
.cfb-adv,.cfb-images{border:1px solid var(--cfb-line);border-radius:8px;padding:8px 12px;margin:0 0 12px}
.cfb-adv summary,.cfb-images summary{cursor:pointer;font-weight:600;padding:2px 0}
.cfb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.cfb-chip{border:1px solid #b9c0cc;background:#fff;border-radius:999px;padding:4px 12px;font:inherit;font-size:13px;cursor:pointer;min-height:32px}
.cfb-chip:hover{border-color:var(--cfb-accent)}

.cfb-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--cfb-ink);background:#fff;color:var(--cfb-ink);border-radius:8px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;min-height:42px;text-decoration:none;line-height:1.2}
.cfb-btn:hover:not(:disabled){background:var(--cfb-paper)}
.cfb-btn--primary{background:var(--cfb-accent);border-color:var(--cfb-accent);color:#fff}
.cfb-btn--primary:hover:not(:disabled){background:var(--cfb-accent-d)}
.cfb-btn--danger{border-color:var(--cfb-bad);color:var(--cfb-bad)}
.cfb-btn--ghost{border-color:transparent;text-decoration:underline}
.cfb-btn--small{padding:5px 10px;min-height:32px;font-size:13px}
.cfb-btn--xl{width:100%;min-height:54px;font-size:18px;margin-top:12px}
.cfb-btn:disabled{opacity:.55;cursor:not-allowed}
.cfb-btnrow{display:flex;flex-wrap:wrap;gap:8px}
.cfb-linkbtn{background:none;border:0;color:var(--cfb-accent);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.cfb-app :focus-visible,.cfb-host :focus-visible,.cfb-player :focus-visible{outline:3px solid #ff8a00;outline-offset:2px}
.cfb-app.is-busy .cfb-previewpanel{cursor:progress}

.cfb-previewpanel__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.cfb-previewpanel h2,.cfb-actions h2,.cfb-caller h2,.cfb-host h2{margin:0;font-size:18px}
.cfb-preview{max-width:460px;margin:0 auto}
.cfb-status{min-height:1.4em;margin:8px 0 0;color:var(--cfb-mute);font-size:14px}
.cfb-status.is-bad,.cfb-error{color:var(--cfb-bad);font-weight:600}
.cfb-error{margin:6px 0 0;font-size:14px;min-height:0}
.cfb-stale{margin:8px 0 0;padding:8px 10px;background:#fff7d6;border:1px solid var(--cfb-sun);border-radius:7px;font-size:14px}

.cfb-results{margin-top:24px}
.cfb-actions{margin-bottom:20px}
.cfb-actions h3{margin:16px 0 6px;font-size:16px}
.cfb-share,.cfb-gamestart{margin-top:14px;padding-top:12px;border-top:1px solid var(--cfb-line)}
.cfb-results__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}
.cfb-result{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.cfb-result .cfb-card{width:100%}
.cfb-caller{margin-top:20px}
.cfb-caller__head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.cfb-caller__list{columns:2 220px;margin:12px 0 0;padding:0;list-style:none}
.cfb-caller__list li{break-inside:avoid;padding:3px 0}
.cfb-box,.cfb-callerprint .cfb-box{display:inline-block;width:.95em;height:.95em;border:2px solid currentColor;vertical-align:-.1em;margin-right:4px}

/* ---- Card (rendered in container units so it scales anywhere) ---- */
.cfb-card{container-type:inline-size;width:100%;max-width:440px;margin:0 auto;overflow:hidden;border-radius:6px;box-shadow:0 1px 3px rgba(20,24,31,.25);font-synthesis:none}
.cfb-card__head{display:flex;align-items:center;font-weight:800;line-height:1.1;overflow:hidden;white-space:nowrap}
.cfb-card__title{display:block;max-width:100%;overflow:hidden}
.cfb-grid{display:grid}
.cfb-row{display:contents}
.cfb-cell{position:relative;aspect-ratio:1/1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden;line-height:1.18;margin:0;font-family:inherit}
button.cfb-cell{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.cfb-cell__text{display:block;max-width:100%;overflow-wrap:anywhere}
.cfb-cell img{max-width:100%;min-height:0;object-fit:contain}
.cfb-card__foot{display:flex;align-items:center;justify-content:flex-end;opacity:.75;font-weight:600}
.cfb-cell.is-marked::after{content:"";position:absolute;inset:10%;border-radius:50%;background:var(--cfb-mark);border:.9cqw solid var(--cfb-mark-ring);pointer-events:none}
.cfb-cell.is-called::before{content:"\2605";position:absolute;top:2%;right:7%;font-size:5cqw;color:#6f68e8;line-height:1}
.cfb-cell.is-win{box-shadow:inset 0 0 0 1.2cqw #0f7b3f}

/* ---- Host & player ---- */
.cfb-host,.cfb-player{max-width:1100px;margin:0 auto}
.cfb-host__head{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:12px}
.cfb-host__head h1,.cfb-player h1{margin:0;font-size:24px}
.cfb-host__top{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-bottom:16px}
@media (max-width:640px){.cfb-host__top{grid-template-columns:1fr}}
.cfb-codebox{background:var(--cfb-ink);color:#fff;border-radius:10px;padding:12px 22px;text-align:center}
.cfb-codebox span{display:block;font-size:13px;opacity:.8}
.cfb-codebox strong{font-size:44px;letter-spacing:.12em;font-variant-numeric:tabular-nums;line-height:1.1}
.cfb-host__current,.cfb-callbanner{background:#fff;border:2px solid var(--cfb-ink);border-radius:12px;padding:14px 18px;text-align:center;margin-bottom:14px}
.cfb-host__current span,.cfb-callbanner span{display:block;font-size:13px;color:var(--cfb-mute)}
.cfb-host__current strong{display:block;font-size:clamp(32px,6vw,64px);line-height:1.15;overflow-wrap:anywhere}
.cfb-callbanner strong{font-size:clamp(24px,7vw,40px);line-height:1.15;overflow-wrap:anywhere}
.cfb-host__current small{color:var(--cfb-mute)}
.cfb-host__actions .cfb-btn--xl{width:auto;flex:1 1 220px;margin-top:0}
.cfb-host__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
@media (max-width:860px){.cfb-host__cols{grid-template-columns:1fr}}
.cfb-list{list-style:none;margin:8px 0 0;padding:0;max-height:320px;overflow:auto}
.cfb-list li{padding:5px 0;border-bottom:1px solid var(--cfb-line)}
.cfb-list li.is-win{font-weight:700;color:var(--cfb-ok)}
.cfb-list--rev{list-style:none}
.cfb-badge{display:inline-block;background:var(--cfb-paper);border:1px solid var(--cfb-line);border-radius:999px;padding:0 10px;font-size:13px;font-weight:600}
.cfb-dot{display:inline-block;width:10px;height:10px;border-radius:50%;border:2px solid #8a93a1;vertical-align:middle}
.cfb-dot.is-on{background:var(--cfb-ok);border-color:var(--cfb-ok)}
.cfb-winners{background:#e8f7ee;border:2px solid var(--cfb-ok);border-radius:10px;padding:12px 16px;margin:12px 0}
.cfb-winners h2{color:var(--cfb-ok)}
.cfb-join{max-width:420px;margin:24px auto}
.cfb-join .cfb-brand{display:block;margin-bottom:6px}
.cfb-player__head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
.cfb-board{max-width:560px;margin:0 auto}
.cfb-board .cfb-card{max-width:560px;box-shadow:none}
.cfb-bingo{max-width:560px;display:flex;margin:14px auto 0;min-height:64px;font-size:24px}
#cfb-play-msg{text-align:center;font-size:17px;font-weight:600}
.cfb-player .cfb-panel{max-width:560px;margin:12px auto}
.cfb-notfound{max-width:520px;margin:60px auto;text-align:center}

#cfb-print-root{display:none}
@media (prefers-reduced-motion:no-preference){.cfb-cell.is-marked::after{animation:cfb-pop .14s ease-out}}
@keyframes cfb-pop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}

/* ---- Aura skin: matches the CardFoundary Aura theme ---- */
.cfb-panel{border-radius:20px;border-color:var(--cfb-line);box-shadow:0 12px 30px #25213d0c}
.cfb-app h2,.cfb-host h1,.cfb-host h2,.cfb-player h1,.cfb-notfound h1{font-family:var(--cfb-serif);font-weight:500;letter-spacing:-.04em}
.cfb-previewpanel h2,.cfb-actions h2,.cfb-caller h2{font-size:26px;line-height:1.05}
.cfb-section>legend{font:800 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--cfb-accent);padding-bottom:12px}
.cfb-brand{font-weight:800;letter-spacing:-.04em;color:var(--cfb-ink)}
.cfb-app input[type=text],.cfb-app input[type=url],.cfb-app input[type=number],.cfb-app select,.cfb-app textarea,.cfb-host input[type=text],.cfb-host input[type=password],.cfb-player input[type=text]{border-radius:12px;border-color:#dcd9e8;background:#fafaff}
.cfb-app input:focus,.cfb-app select:focus,.cfb-app textarea:focus,.cfb-host input:focus,.cfb-player input:focus{border-color:var(--cfb-accent);outline:0;box-shadow:0 0 0 3px var(--cfb-accent-a)}
.cfb-field--color input{border-radius:10px;border-color:#dcd9e8}
.cfb-field input[type=range]{accent-color:var(--cfb-accent)}
.cfb-field input[type=checkbox]{accent-color:var(--cfb-accent);width:18px;height:18px}
.cfb-adv,.cfb-images{border-radius:14px;border-color:var(--cfb-line);background:#fcfcff}
.cfb-btn{border:1px solid #e6e5ee;border-radius:999px;background:#fff;color:#45415d;font-size:14px;font-weight:700;padding:10px 20px;transition:transform .2s,box-shadow .2s,background .2s}
.cfb-btn:hover:not(:disabled){background:#fff;transform:translateY(-2px);box-shadow:0 8px 18px #28254320}
.cfb-btn--primary{background:linear-gradient(135deg,var(--cfb-btn-a),var(--cfb-btn-b));border-color:transparent;color:#fff;box-shadow:0 13px 24px var(--cfb-btn-shadow)}
.cfb-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,var(--cfb-btn-a),var(--cfb-btn-b));box-shadow:0 16px 28px var(--cfb-btn-shadow-h)}
.cfb-btn--danger{border-color:#f0c4be;color:var(--cfb-bad)}
.cfb-btn--ghost{background:transparent;box-shadow:none}
.cfb-btn--xl{min-height:56px;font-size:16px}
.cfb-btn:disabled{transform:none;box-shadow:none}
.cfb-chip{border-color:#dcd9e8;color:#45415d}
.cfb-chip:hover{border-color:var(--cfb-accent);background:var(--cfb-paper);color:var(--cfb-accent-d)}
.cfb-app :focus-visible,.cfb-host :focus-visible,.cfb-player :focus-visible{outline:3px solid var(--cfb-accent);outline-offset:2px}
.cfb-stale{background:#fff0e8;border:1px solid var(--cfb-sun);border-radius:12px}
.cfb-card{border-radius:12px;box-shadow:0 18px 38px #28254326}
.cfb-board .cfb-card{box-shadow:none}
.cfb-codebox{background:linear-gradient(120deg,#16172e,#25224b);border-radius:20px}
.cfb-host__current,.cfb-callbanner{border:1px solid var(--cfb-line);border-radius:20px;box-shadow:0 12px 30px #25213d0c}
.cfb-host__current strong,.cfb-callbanner strong{font-family:var(--cfb-serif);font-weight:500;letter-spacing:-.04em}
.cfb-badge{background:var(--cfb-paper);border-color:#dcd9e8;color:#45415d}
.cfb-winners{background:#e9f7ef;border-color:#b6e0c6;border-radius:20px}
.cfb-list li{border-bottom-color:#efedf4}
.cfb-share,.cfb-gamestart{border-top-color:var(--cfb-line)}
.cfb-standalone__main--themed{max-width:1640px;padding:28px 34px 0}
.cfb-standalone__main--themed .cfb-projectbar{padding-top:0}
@media (max-width:700px){.cfb-standalone__main--themed{padding:20px 14px 0}}
.wp-block-post-content .cfb-app{margin:0 0 3rem}

/* FAQ block used in the generator landing page content */
.cfb-faq{max-width:900px;margin:0 auto;padding:clamp(4rem,8vw,8rem) 28px 0;font-family:Inter,system-ui,sans-serif}
.cfb-faq h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.06em;line-height:.98;font-size:clamp(2.6rem,5vw,4.6rem);text-align:center;margin:0 0 2.4rem}
.cfb-faq details{border-top:1px solid #e7e5ef;padding:18px 4px}
.cfb-faq details:last-of-type{border-bottom:1px solid #e7e5ef}
.cfb-faq summary{cursor:pointer;font-weight:700;font-size:17px;color:#14162d;list-style:none;display:flex;justify-content:space-between;gap:16px}
.cfb-faq summary::-webkit-details-marker{display:none}
.cfb-faq summary::after{content:"+";color:#6f68e8;font-size:22px;line-height:1}
.cfb-faq details[open] summary::after{content:"\2212"}
.cfb-faq details p{margin:12px 0 0;color:#6a6679;font:1.05rem/1.65 Georgia,serif;max-width:46rem}
