/* CardFoundary Flashcard Studio: front-end styles. Loaded only on pages that use the plugin. */
.cgc-app,.cgc-projectbar,.cgc-notfound{
	--cgc-ink:#14162d;--cgc-mute:#6a6679;--cgc-paper:#f4f5ff;--cgc-line:#e7e5ef;--cgc-accent:#6f68e8;--cgc-accent-a:rgba(111,104,232,.2);
	--cgc-btn-a:#ff846d;--cgc-btn-b:#ff5d62;--cgc-btn-shadow:rgba(255,93,98,.26);--cgc-btn-shadow-h:rgba(255,93,98,.35);
	--cgc-bad:#c0392b;--cgc-ok:#0f7b3f;--cgc-serif:Georgia,'Times New Roman',serif;
	box-sizing:border-box;color:var(--cgc-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;
}
.cgc-app *{box-sizing:border-box}
.cgc-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}
.cgc-standalone__main{max-width:1280px;margin:0 auto;padding:16px}
.cgc-standalone__main--themed{max-width:1640px;padding:28px 34px 0}
@media (max-width:700px){.cgc-standalone__main--themed{padding:20px 14px 0}}
.cgc-brand{font-weight:800;letter-spacing:-.04em}
.cgc-projectbar{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:0 0 12px}
.cgc-projectbar__note{color:var(--cgc-mute);font-size:14px}
.cgc-notfound{max-width:520px;margin:60px auto;text-align:center}
.cgc-notfound h1{font-family:var(--cgc-serif);font-weight:500;letter-spacing:-.04em}

.cgc-panel{background:#fff;border:1px solid var(--cgc-line);border-radius:20px;padding:16px;box-shadow:0 12px 30px #25213d0c}
.cgc-layout{display:grid;grid-template-columns:minmax(320px,480px) 1fr;gap:20px;align-items:start;margin-bottom:20px}
.cgc-stage{position:sticky;top:12px}
@media (max-width:860px){.cgc-layout{grid-template-columns:1fr}.cgc-stage{position:static;order:-1}}
.cgc-section{border:0;margin:0 0 18px;padding:0;min-width:0}
.cgc-section>legend{font:800 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--cgc-accent);padding:0 0 12px}
.cgc-app h2,.cgc-app h3{font-family:var(--cgc-serif);font-weight:500;letter-spacing:-.03em}
.cgc-previewpanel h2,.cgc-actions h2{margin:0;font-size:26px;line-height:1.05}
.cgc-actions h3{margin:18px 0 8px;font-size:19px}
.cgc-field{margin:0 0 12px}
.cgc-field label{display:block;font-weight:600;font-size:14px;margin-bottom:4px}
.cgc-field--check label{display:flex;gap:8px;align-items:center;font-weight:500}
.cgc-field--range label{display:flex;justify-content:space-between}
.cgc-field--range output{font-weight:400;color:var(--cgc-mute)}
.cgc-field--color{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.cgc-field--color label{margin:0}
.cgc-field--color input{width:44px;height:30px;padding:0;border:1px solid #dcd9e8;border-radius:10px;background:#fff}
.cgc-field input[type=range]{width:100%;accent-color:var(--cgc-accent)}
.cgc-field input[type=checkbox]{accent-color:var(--cgc-accent);width:18px;height:18px}
.cgc-app input[type=text],.cgc-app input[type=url],.cgc-app input[type=number],.cgc-app select,.cgc-app textarea{
	width:100%;padding:9px 10px;border:1px solid #dcd9e8;border-radius:12px;background:#fafaff;color:var(--cgc-ink);font:inherit;min-height:40px}
.cgc-app textarea{resize:vertical;min-height:84px;line-height:1.4}
.cgc-app input:focus,.cgc-app select:focus,.cgc-app textarea:focus{border-color:var(--cgc-accent);outline:0;box-shadow:0 0 0 3px var(--cgc-accent-a)}
.cgc-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.cgc-row3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 12px;align-items:end}
@media (max-width:700px){.cgc-row3{grid-template-columns:1fr}}
.cgc-inputrow{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}
.cgc-inputrow>input{flex:1 1 180px;width:auto}
.cgc-count{margin:6px 0 0;font-size:13px;color:var(--cgc-mute)}
.cgc-count.is-warn{color:var(--cgc-bad);font-weight:600}
.cgc-hint{font-size:13px;color:var(--cgc-mute);margin:4px 0}
.cgc-adv,.cgc-images{border:1px solid var(--cgc-line);border-radius:14px;padding:8px 12px;margin:0 0 12px;background:#fcfcgc}
.cgc-adv summary,.cgc-images summary{cursor:pointer;font-weight:600;padding:2px 0}

.cgc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #e6e5ee;background:#fff;color:#45415d;border-radius:999px;padding:10px 20px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;min-height:42px;line-height:1.2;transition:transform .2s,box-shadow .2s}
.cgc-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 18px #28254320}
.cgc-btn--primary{background:linear-gradient(135deg,var(--cgc-btn-a),var(--cgc-btn-b));border-color:transparent;color:#fff;box-shadow:0 13px 24px var(--cgc-btn-shadow)}
.cgc-btn--primary:hover:not(:disabled){box-shadow:0 16px 28px var(--cgc-btn-shadow-h)}
.cgc-btn--ghost{background:transparent;box-shadow:none}
.cgc-btn--small{padding:5px 12px;min-height:32px;font-size:13px}
.cgc-btn--xl{width:100%;min-height:56px;font-size:16px;margin-top:12px}
.cgc-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.cgc-btnrow{display:flex;flex-wrap:wrap;gap:8px}
.cgc-app :focus-visible{outline:3px solid var(--cgc-accent);outline-offset:2px}

.cgc-previewpanel__head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.cgc-status{min-height:1.4em;margin:8px 0 0;color:var(--cgc-mute);font-size:14px}
.cgc-error{margin:6px 0 0;font-size:14px;color:var(--cgc-bad);font-weight:600}
.cgc-stale{margin:8px 0 0;padding:8px 10px;background:#fff0e8;border:1px solid #ffd0c4;border-radius:12px;font-size:14px}

.cgc-results{margin-top:24px}
.cgc-actions{margin-bottom:20px}
.cgc-share{margin-top:14px;padding-top:12px;border-top:1px solid var(--cgc-line)}
.cgc-results__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:20px}
.cgc-result{margin:0;display:flex;flex-direction:column;align-items:center;gap:8px}
.cgc-result .cgc-flip{width:100%}
.cgc-result__btns{justify-content:center}


/* ---- Trading card maker ---- */
.cgc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px;padding:4px;background:var(--cgc-paper);border-radius:999px}
.cgc-tab{flex:1 1 auto;border:0;background:transparent;border-radius:999px;padding:9px 14px;font:inherit;font-size:14px;font-weight:700;color:#45415d;cursor:pointer;min-height:40px}
.cgc-tab.is-active{background:#fff;color:var(--cgc-ink);box-shadow:0 4px 12px #25213d1a}
.cgc-pane[hidden]{display:none}
.cgc-label{font-weight:600;font-size:14px;margin:0 0 6px}
.cgc-pt{padding-top:22px}
.cgc-group{border:1px solid var(--cgc-line);border-radius:14px;padding:10px 12px 4px;margin:0 0 12px;background:#fcfcff}
.cgc-group>legend{font:800 11px/1.2 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--cgc-accent);padding:0 6px}
.cgc-statrow{display:grid;grid-template-columns:1.3fr 1fr;gap:8px;margin-bottom:8px}
.cgc-tpls{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}
@media (max-width:520px){.cgc-tpls{grid-template-columns:repeat(2,1fr)}}
.cgc-tpl{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;background:#fff;border-radius:12px;padding:6px;font:inherit;font-size:12px;font-weight:700;color:#45415d;cursor:pointer}
.cgc-tpl canvas{width:100%;height:auto;display:block}
.cgc-tpl:hover{border-color:#dcd9e8}
.cgc-tpl.is-active{border-color:var(--cgc-accent);background:var(--cgc-paper)}
.cgc-cardtools{justify-content:center;margin-top:12px}
.cgc-previewpanel__head h2{margin:0}

/* 3D flip, tilt and holo shine */
.cgc-flipwrap{max-width:420px;margin:0 auto;perspective:1400px;filter:drop-shadow(0 22px 30px rgba(40,37,67,.28))}
.cgc-flip{position:relative;width:100%;aspect-ratio:630/882;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out;touch-action:pan-y}
.cgc-flip.is-dragging{cursor:grabbing;transition:none}
.cgc-flip__inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.cgc-flip.is-flipped .cgc-flip__inner{transform:rotateY(180deg)}
.cgc-face{position:absolute;inset:0;width:100%;height:100%;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cgc-face--back{transform:rotateY(180deg)}
.cgc-shine{position:absolute;inset:0;border-radius:5.7%/4.1%;pointer-events:none;opacity:0;transition:opacity .2s;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.55),rgba(255,255,255,0) 48%);mix-blend-mode:soft-light}
.cgc-flip[data-foil="1"]:hover .cgc-shine{opacity:1}
.cgc-flip.is-flipped .cgc-shine{display:none}
@media (prefers-reduced-motion:reduce){.cgc-flip,.cgc-flip__inner{transition:none}.cgc-shine{display:none}}

/* Card gallery */
.cgc-cards,.cgc-actions{margin-bottom:20px}
.cgc-cards h2,.cgc-actions h2{margin:0 0 12px;font-size:26px}
.cgc-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.cgc-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;border:2px solid transparent;border-radius:16px;background:none;padding:8px;font:inherit;cursor:pointer;color:var(--cgc-ink)}
.cgc-thumb canvas{width:100%;height:auto;display:block;filter:drop-shadow(0 6px 10px rgba(40,37,67,.22))}
.cgc-thumb:hover{background:var(--cgc-paper)}
.cgc-thumb.is-active{border-color:var(--cgc-accent);background:var(--cgc-paper)}
.cgc-thumb__label{font-size:12px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cgc-badge{display:inline-block;background:var(--cgc-paper);border:1px solid #dcd9e8;border-radius:999px;padding:0 10px;font-size:13px;font-weight:600;vertical-align:middle}
.cgc-btn--danger{border-color:#f0c4be;color:var(--cgc-bad)}

/* ---- FAQ block used in the landing page content ---- */
.cgc-faq{max-width:900px;margin:0 auto;padding:clamp(4rem,8vw,8rem) 28px 0;font-family:Inter,system-ui,sans-serif}
.cgc-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}
.cgc-faq details{border-top:1px solid #e7e5ef;padding:18px 4px}
.cgc-faq details:last-of-type{border-bottom:1px solid #e7e5ef}
.cgc-faq summary{cursor:pointer;font-weight:700;font-size:17px;color:#14162d;list-style:none;display:flex;justify-content:space-between;gap:16px}
.cgc-faq summary::-webkit-details-marker{display:none}
.cgc-faq summary::after{content:"+";color:#6f68e8;font-size:22px;line-height:1}
.cgc-faq details[open] summary::after{content:"\2212"}
.cgc-faq details p{margin:12px 0 0;color:#6a6679;font:1.05rem/1.65 Georgia,serif;max-width:46rem}

/* ---- Sports card maker additions ---- */
.cgc-center{text-align:center}
.cgc-tablewrap{overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.cgc-trow{display:grid;grid-template-columns:62px 96px repeat(5,56px);gap:4px;margin-bottom:4px;min-width:500px;align-items:center}
.cgc-trow input{padding:6px;min-height:36px;font-size:13px}
.cgc-trow--head span{font-size:12px;font-weight:700;color:var(--cgc-mute)}
.cgc-trow--head input{font-weight:700;background:var(--cgc-paper)}
.cgc-trow--total span{font-size:12px;font-weight:800;color:var(--cgc-accent)}
.cgc-btn.is-on{background:var(--cgc-accent);border-color:var(--cgc-accent);color:#fff}
.cgc-flip{touch-action:pan-y pinch-zoom;cursor:grab}
.cgc-flip.is-adjust{touch-action:none}
.cgc-flip.is-dragging{cursor:grabbing}
.cgc-fab{display:none}
@media (max-width:860px){
	.cgc-fab{display:inline-flex;position:fixed;right:14px;bottom:14px;z-index:50;box-shadow:0 12px 26px rgba(40,37,67,.35)}
	.cgc-flipwrap{max-width:min(380px,86vw)}
	.cgc-btn{min-height:44px}
	.cgc-btn--small{min-height:40px}
	.cgc-cards,.cgc-actions{padding:14px}
}

/* ---- Game card maker additions ---- */
.cgc-tpls--style{grid-template-columns:repeat(4,1fr)}
@media (max-width:520px){.cgc-tpls--style{grid-template-columns:repeat(2,1fr)}}
.cgc-iconbar{display:flex;flex-wrap:wrap;gap:4px;margin:-4px 0 8px}
.cgc-iconbtn{border:1px solid #dcd9e8;background:#fff;border-radius:10px;padding:2px;width:40px;height:40px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.cgc-iconbtn canvas{width:30px;height:30px}
.cgc-iconbtn:hover{border-color:var(--cgc-accent);background:var(--cgc-paper)}
.cgc-facrow{display:grid;grid-template-columns:1fr 44px 44px 96px;gap:6px;margin-bottom:6px;align-items:center}
.cgc-facrow input[type=color]{width:44px;height:36px;padding:0;border:1px solid #dcd9e8;border-radius:10px;background:#fff}
.cgc-facrow select{min-height:36px;padding:4px 6px}
@media (max-width:420px){.cgc-facrow{grid-template-columns:1fr 40px 40px}.cgc-facrow select{grid-column:1 / -1}}
.cgc-deck{margin-bottom:20px}
.cgc-deck h2{margin:0 0 12px;font-size:26px}
.cgc-stats__row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
.cgc-stat{background:var(--cgc-paper);border:1px solid var(--cgc-line);border-radius:14px;padding:10px 16px;min-width:130px}
.cgc-stat strong{display:block;font-size:26px;line-height:1.1}
.cgc-stat span{font-size:13px;color:var(--cgc-mute)}
.cgc-chart{display:inline-block;vertical-align:top;margin:0 24px 14px 0;min-width:260px}
.cgc-chart h3{margin:0 0 6px;font-size:15px;font-family:inherit;letter-spacing:0;font-weight:700}
.cgc-bars{display:flex;gap:6px;align-items:flex-end;height:120px}
.cgc-bar{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:30px;position:relative}
.cgc-bar span{display:block;width:26px;background:linear-gradient(180deg,var(--cgc-btn-a),var(--cgc-btn-b));border-radius:6px 6px 0 0;min-height:2px}
.cgc-bar em{font-style:normal;font-size:12px;font-weight:700;margin-bottom:2px}
.cgc-bar b{font-size:11px;color:var(--cgc-mute);font-weight:600;margin-top:4px;max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cgc-hand{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.cgc-hand__card{margin:0;width:130px;text-align:center;font-size:12px;font-weight:600}
.cgc-hand__card canvas{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 12px rgba(40,37,67,.25));margin-bottom:4px}
