.fct-app{--blue:#1769aa;--dark:#17324a;--red:#c93434;max-width:900px;margin:0 auto 48px;color:#17212b}
.fct-app button,.fct-app a{font:inherit}
.fct-hero{margin:8px 0 18px;padding:clamp(22px,5vw,42px);border-radius:22px;background:linear-gradient(135deg,#e5f4ff,#fff1c8);text-align:center}
.fct-hero h1{margin:4px 0 8px;font-size:clamp(2rem,7vw,3.5rem)}
.fct-hero>p{margin:8px auto}
.fct-kicker{margin:0;color:#27658f;font-size:.9rem;font-weight:800;letter-spacing:.06em}
.fct-player{display:table;padding:7px 14px;border-radius:999px;background:#fff;font-weight:800}
.fct-hero>a{display:block;width:fit-content;margin:8px auto 0}
.fct-rules,.fct-panel{margin:18px 0;padding:clamp(18px,4vw,28px);border:1px solid #c9d7e3;border-radius:18px;background:#fff}
.fct-rules h2{display:inline;background:linear-gradient(transparent 63%,#ffe36e 63%);font-size:1.25rem}
.fct-rules ul{margin:15px 0 0;padding-left:1.4em}
.fct-rules li+li{margin-top:7px}
.fct-section-head{display:flex;align-items:end;justify-content:space-between;gap:14px}
.fct-section-head h2{margin:3px 0 0}
.fct-small{padding:7px 12px;border:1px solid #7b94aa;border-radius:9px;background:#fff;cursor:pointer}
.fct-decks{display:grid;gap:12px;margin-top:16px}
.fct-challenge-banner,.fct-challenge-result{margin:14px 0;padding:13px 16px;border:2px solid #efb820;border-radius:12px;background:#fff7cf;color:#5d4700;font-weight:900;text-align:center}
.fct-deck{display:grid;gap:8px;width:100%;padding:16px;border:2px solid #b7c8d6;border-radius:14px;background:#fff;color:inherit;text-align:left;cursor:pointer}
.fct-deck:hover,.fct-deck.is-selected{border-color:var(--blue);background:#eef8ff}
.fct-deck strong{font-size:1.12rem}
.fct-deck div{display:flex;flex-wrap:wrap;gap:7px}
.fct-deck em{padding:4px 9px;border-radius:999px;background:#edf1f5;color:#415568;font-size:.86rem;font-style:normal;font-weight:700}
.fct-preview{margin-top:18px;padding:18px;border:2px solid #65a8da;border-radius:15px;background:#f4faff}
.fct-preview h2{margin:3px 0 5px}
.fct-preview-ranks{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.fct-preview-ranks span{padding:7px 10px;border-radius:8px;background:#fff}
.fct-primary,.fct-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 18px;border-radius:11px;font-weight:800;text-decoration:none;cursor:pointer}
.fct-primary{border:2px solid var(--blue);background:var(--blue);color:#fff}
.fct-secondary{border:2px solid #58728a;background:#fff;color:#29465f}
.fct-panel,.fct-stage,.fct-result{scroll-margin-top:calc(96px + env(safe-area-inset-top,0px))}
.fct-stage{position:relative;margin:18px auto}
.fct-lobby[hidden],.fct-stage[hidden],.fct-result[hidden]{display:none}
.fct-countdown{position:fixed;z-index:10000;inset:0;display:grid;place-items:center;background:rgb(255 255 255/95%)}
.fct-countdown[hidden]{display:none}
.fct-countdown strong{color:var(--blue);font-size:clamp(3.5rem,16vw,8rem);letter-spacing:.08em;animation:fct-pop .35s ease-out both}
.fct-countdown.is-go strong{color:var(--red)}
.fct-game-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-radius:12px;background:#eaf4ff}
.fct-game-head>div:first-child{display:grid;gap:3px}
.fct-live-stats{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px 14px}
.fct-live-stats span{white-space:nowrap}
.fct-live-stats>strong{color:#bd2b2b;font-size:1.45rem;white-space:nowrap}
.fct-bonus-status{margin:10px 0;text-align:right;font-weight:800}
.fct-bonus-status.bonus-2{color:#18733b}
.fct-bonus-status.bonus-1{color:#936a00}
.fct-bonus-status.bonus-0{color:#69747e}
.fct-question-panel{padding:clamp(16px,4vw,28px);border:2px solid #b7c8d6;border-radius:18px;background:#f9fcff}
.fct-question{display:flex;align-items:center;justify-content:center;min-height:130px;padding:18px;border-radius:14px;background:#fff;font-size:clamp(1.65rem,6vw,2.8rem);font-weight:800}
.fct-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
.fct-option{display:flex;align-items:center;justify-content:center;min-height:86px;padding:12px;border:2px solid #7797b4;border-radius:13px;background:#fff;color:#17212b;font-size:clamp(1.15rem,4vw,1.55rem);font-weight:800;cursor:pointer;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.fct-option *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.fct-option mjx-container,.fct-option mjx-container *,.fct-option svg,.fct-option svg *{-webkit-touch-callout:none!important;-webkit-user-select:none!important;user-select:none!important}
.fct-question mjx-container{font-size:132%!important}
.fct-option mjx-container{font-size:125%!important}
.fct-option:hover:not(:disabled){border-color:var(--blue);background:#edf8ff}
.fct-option.is-wrong{border-color:#d73535;background:#ffe4e4;color:#9f1d1d}
.fct-option.is-correct{border-color:#23914c;background:#e1f7e8;color:#176d37}
.fct-option:disabled{cursor:default}
.fct-question img,.fct-option img{max-width:100%;max-height:170px;object-fit:contain}
.fct-message{min-height:1.7em;margin:14px 0 0;text-align:center;font-weight:800}
.fct-result{margin:18px 0;padding:22px;border:2px solid #5a9bd5;border-radius:16px;background:#f8fcff}
.fct-result[hidden],.fct-question-panel[hidden]{display:none}
.fct-result h2{text-align:center}
.fct-result-score{display:grid;justify-items:center;gap:8px}
.fct-result-score>strong{color:#b22121;font-size:clamp(2.8rem,10vw,5rem)}
.fct-badge{padding:6px 13px;border-radius:999px;background:#ffe36e;color:#5c4700;font-weight:900}
.fct-result-detail{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 18px;margin:8px 0 20px;font-weight:800}
.fct-personal-best{margin:12px auto 18px;padding:12px 16px;border-radius:11px;background:#e8f7e8;color:#176d37;font-size:1.08rem;font-weight:900;text-align:center}
.fct-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.fct-record-grid>section{padding:14px;border-radius:11px;background:#fff;box-shadow:0 1px 5px rgb(0 0 0/10%)}
.fct-record{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;padding:9px;border-bottom:1px solid #e1e7ec}
.fct-record>b{grid-row:span 2}
.fct-record span{color:#596875;font-size:.86rem}
.fct-record.is-you{border-radius:8px;background:#fff6c7}
.fct-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px}
.fct-actions[hidden]{display:none}
.fct-notice{margin:12px 0 0;color:#1769aa;font-weight:800;text-align:center}
.fct-cta{text-align:center;background:#fffbea}
@keyframes fct-pop{from{opacity:0;transform:scale(.72)}
to{opacity:1;transform:scale(1)}
}
@media(max-width:640px){.fct-game-head{align-items:flex-start}
.fct-live-stats{display:grid;grid-template-columns:auto auto}
.fct-live-stats>strong{grid-column:1/-1;text-align:right}
.fct-options{gap:8px}
.fct-option{min-height:86px;padding:10px 5px}
.fct-option mjx-container{font-size:118%!important}
.fct-record-grid{grid-template-columns:1fr}
.fct-actions{display:grid}
.fct-actions>*{width:100%}
}
