.cf-venn-wrap{position:relative;width:100%;max-width:520px;margin:20px auto;height:260px}.cf-venn-circle{position:absolute;width:240px;height:240px;border-radius:50%;top:10px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:6px;padding:24px 50px 24px 24px;transition:all .5s ease}.cf-venn-left{left:4%;background:#6366f11a;border:3px solid #818cf8}.dark .cf-venn-left{background:#6366f126;border-color:#6366f1}.cf-venn-right{right:4%;background:#f59e0b1a;border:3px solid #fbbf24;padding:24px 24px 24px 50px}.dark .cf-venn-right{background:#f59e0b26;border-color:#f59e0b}.cf-venn-overlap{position:absolute;top:10px;left:50%;transform:translate(-50%);width:120px;height:240px;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:6px;padding:24px 12px;z-index:2}.cf-venn-label{position:absolute;top:-6px;font-size:13px;font-weight:800;padding:2px 10px;border-radius:99px;z-index:3}.cf-venn-label-left{left:4%;background:#eef2ff;color:#4338ca;border:2px solid #818cf8}.dark .cf-venn-label-left{background:#312e81;color:#c7d2fe}.cf-venn-label-right{right:4%;background:#fef3c7;color:#92400e;border:2px solid #fbbf24}.dark .cf-venn-label-right{background:#78350f;color:#fde68a}.cf-venn-label-mid{left:50%;transform:translate(-50%);background:#dcfce7;color:#166534;border:2px solid #4ade80}.dark .cf-venn-label-mid{background:#052e16;color:#86efac}.cf-venn-chip{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px;padding:0 8px;border-radius:8px;font-size:15px;font-weight:800;animation:cfChipPop .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes cfChipPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.cf-venn-chip-left{background:#c7d2fe;color:#3730a3;border:1.5px solid #818cf8}.dark .cf-venn-chip-left{background:#312e81;color:#a5b4fc}.cf-venn-chip-right{background:#fde68a;color:#78350f;border:1.5px solid #fbbf24}.dark .cf-venn-chip-right{background:#78350f;color:#fde68a}.cf-venn-chip-common{background:#bbf7d0;color:#14532d;border:1.5px solid #4ade80}.dark .cf-venn-chip-common{background:#052e16;color:#86efac}.cf-venn-chip-hcf{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:2px solid #d97706;font-size:17px;min-width:40px;height:36px;box-shadow:0 0 16px #f59e0b80;animation:cfHcfGlow 1.2s ease-in-out infinite alternate}@keyframes cfHcfGlow{0%{box-shadow:0 0 8px #f59e0b4d;transform:scale(1)}to{box-shadow:0 0 20px #f59e0bb3;transform:scale(1.1)}}.cf-factor-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0}.cf-factor-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:46px;padding:0 14px;border-radius:12px;font-size:20px;font-weight:800;cursor:pointer;border:3px solid #cbd5e1;background:#f8fafc;color:#334155;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dark .cf-factor-chip{background:#1e293b;border-color:#475569;color:#e2e8f0}.cf-factor-chip:hover{border-color:#22c55e;background:#f0fdf4;transform:translateY(-2px)}.dark .cf-factor-chip:hover{border-color:#4ade80;background:#052e16}.cf-factor-chip.cf-selected{background:#22c55e;border-color:#16a34a;color:#fff;transform:scale(1.08);box-shadow:0 4px 12px #22c55e59}.dark .cf-factor-chip.cf-selected{background:#16a34a;border-color:#4ade80}.cf-factor-chip.cf-chip-correct{background:#22c55e;border-color:#16a34a;color:#fff;box-shadow:0 3px 10px #22c55e4d}.cf-factor-chip.cf-chip-wrong{background:#ef4444;border-color:#dc2626;color:#fff}.cf-factor-chip.cf-chip-missed{background:#fef3c7;border-color:#f59e0b;color:#92400e;animation:cfMissedPulse 1s ease-in-out infinite}@keyframes cfMissedPulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}.dark .cf-factor-chip.cf-chip-missed{background:#451a03;border-color:#fbbf24;color:#fcd34d}.cf-factor-chip.cf-chip-disabled{pointer-events:none;cursor:default}.cf-pair-display{display:flex;justify-content:center;align-items:center;gap:20px;margin:16px 0}.cf-pair-num{display:inline-flex;align-items:center;justify-content:center;min-width:80px;height:72px;padding:0 20px;border-radius:16px;font-size:36px;font-weight:900;font-family:Courier New,monospace;animation:cfNumIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes cfNumIn{0%{opacity:0;transform:scale(.6) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.cf-pair-num-a{background:linear-gradient(135deg,#eef2ff,#e0e7ff);color:#4338ca;border:3px solid #818cf8}.dark .cf-pair-num-a{background:linear-gradient(135deg,#1e1b4b,#312e81);color:#a5b4fc;border-color:#6366f1}.cf-pair-num-b{background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e;border:3px solid #fbbf24}.dark .cf-pair-num-b{background:linear-gradient(135deg,#451a03,#78350f);color:#fde68a;border-color:#f59e0b}.cf-pair-and{font-size:24px;font-weight:900;color:#94a3b8}.dark .cf-pair-and{color:#64748b}.cf-factor-list-wrap{display:flex;flex-direction:column;gap:8px;margin:12px 0}.cf-factor-list-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:12px;font-size:14px;font-weight:600}.cf-factor-list-a{background:#eef2ff;border:2px solid #c7d2fe}.dark .cf-factor-list-a{background:#1e1b4b;border-color:#4338ca}.cf-factor-list-b{background:#fffbeb;border:2px solid #fde68a}.dark .cf-factor-list-b{background:#451a03;border-color:#92400e}.cf-factor-list-label{font-weight:800;min-width:120px}.cf-factor-list-a .cf-factor-list-label{color:#4338ca}.cf-factor-list-b .cf-factor-list-label{color:#92400e}.dark .cf-factor-list-a .cf-factor-list-label{color:#a5b4fc}.dark .cf-factor-list-b .cf-factor-list-label{color:#fde68a}.cf-factor-list-nums{flex:1;color:#334155}.dark .cf-factor-list-nums{color:#cbd5e1}.cf-machine{background:linear-gradient(135deg,#faf5ff,#f3e8ff,#faf5ff);border:3px solid #a78bfa;border-radius:18px;padding:24px 20px;margin:16px 0;position:relative;overflow:hidden}.cf-machine:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#8b5cf6,#a78bfa,#c4b5fd,#a78bfa,#8b5cf6);background-size:200% 100%;animation:cfShimmer 3s linear infinite}@keyframes cfShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dark .cf-machine{background:linear-gradient(135deg,#1a0a2e,#1e1065,#1a0a2e);border-color:#7c3aed}.cf-machine-title{text-align:center;font-size:20px;font-weight:900;color:#6d28d9;margin-bottom:16px;text-transform:uppercase;letter-spacing:1px}.dark .cf-machine-title{color:#c4b5fd}.cf-result-badge{display:inline-flex;align-items:center;gap:8px;padding:10px 24px;border-radius:16px;font-size:22px;font-weight:900;animation:cfBadgePop .5s cubic-bezier(.34,1.56,.64,1)}@keyframes cfBadgePop{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.cf-badge-hcf{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;border:3px solid #d97706;box-shadow:0 4px 20px #f59e0b66}.cf-badge-lcm{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:3px solid #0e7490;box-shadow:0 4px 20px #06b6d466}.cf-tracks-wrap{margin:20px 0;overflow-x:auto;padding-bottom:8px}.cf-track{display:flex;align-items:center;gap:0;margin:10px 0;position:relative;min-height:56px}.cf-track-label{flex-shrink:0;width:90px;font-size:13px;font-weight:800;padding-right:10px;text-align:right}.cf-track-label-a{color:#4338ca}.cf-track-label-b{color:#92400e}.dark .cf-track-label-a{color:#a5b4fc}.dark .cf-track-label-b{color:#fde68a}.cf-track-rail{flex:1;display:flex;align-items:center;position:relative;height:4px;background:#e2e8f0;border-radius:2px}.dark .cf-track-rail{background:#334155}.cf-track-rail-a{background:#c7d2fe}.cf-track-rail-b{background:#fde68a}.dark .cf-track-rail-a{background:#3730a3}.dark .cf-track-rail-b{background:#78350f}.cf-track-stop{position:absolute;display:flex;flex-direction:column;align-items:center;transform:translate(-50%);cursor:pointer;transition:all .2s ease;z-index:2}.cf-track-stop:hover .cf-stop-dot{transform:scale(1.3)}.cf-stop-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0;transition:all .25s ease;border:2.5px solid}.cf-stop-dot-a{background:#eef2ff;border-color:#818cf8}.dark .cf-stop-dot-a{background:#312e81;border-color:#6366f1}.cf-stop-dot-b{background:#fffbeb;border-color:#fbbf24}.dark .cf-stop-dot-b{background:#78350f;border-color:#f59e0b}.cf-stop-num{font-size:12px;font-weight:700;color:#64748b;margin-top:2px;white-space:nowrap}.dark .cf-stop-num{color:#94a3b8}.cf-stop-common .cf-stop-dot{background:#22c55e!important;border-color:#16a34a!important;width:28px;height:28px;box-shadow:0 0 12px #22c55e80;animation:cfCommonPulse 1s ease-in-out infinite alternate}@keyframes cfCommonPulse{0%{box-shadow:0 0 6px #22c55e4d}to{box-shadow:0 0 18px #22c55eb3}}.cf-stop-common .cf-stop-num{color:#16a34a;font-weight:900;font-size:14px}.dark .cf-stop-common .cf-stop-num{color:#4ade80}.cf-stop-lcm .cf-stop-dot{background:linear-gradient(135deg,#06b6d4,#0891b2)!important;border-color:#0e7490!important;width:32px;height:32px;box-shadow:0 0 16px #06b6d499}.cf-stop-lcm .cf-stop-num{color:#0e7490;font-weight:900;font-size:15px}.dark .cf-stop-lcm .cf-stop-num{color:#22d3ee}.cf-mult-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px 0}.cf-mult-chip{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:42px;padding:0 10px;border-radius:10px;font-size:17px;font-weight:700;cursor:pointer;border:2.5px solid #cbd5e1;background:#fff;color:#334155;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dark .cf-mult-chip{background:#1e293b;border-color:#475569;color:#e2e8f0}.cf-mult-chip:hover{border-color:#06b6d4;background:#ecfeff;transform:translateY(-2px)}.dark .cf-mult-chip:hover{border-color:#22d3ee;background:#083344}.cf-mult-chip.cf-mult-selected{background:#06b6d4;border-color:#0891b2;color:#fff;transform:scale(1.06);box-shadow:0 3px 10px #06b6d459}.dark .cf-mult-chip.cf-mult-selected{background:#0891b2;border-color:#22d3ee}.cf-mult-chip.cf-mult-correct{background:#22c55e;border-color:#16a34a;color:#fff}.cf-mult-chip.cf-mult-wrong{background:#ef4444;border-color:#dc2626;color:#fff}.cf-mult-chip.cf-mult-missed{background:#fef3c7;border-color:#f59e0b;color:#92400e;animation:cfMissedPulse 1s ease-in-out infinite}.dark .cf-mult-chip.cf-mult-missed{background:#451a03;border-color:#fbbf24;color:#fcd34d}.cf-mult-chip.cf-mult-disabled{pointer-events:none;cursor:default}.cf-mult-chip.cf-mult-is-a{border-left:4px solid #818cf8}.cf-mult-chip.cf-mult-is-b{border-right:4px solid #fbbf24}.cf-mult-chip.cf-mult-is-both{border-left:4px solid #818cf8;border-right:4px solid #fbbf24;background:#f0fdf4}.dark .cf-mult-chip.cf-mult-is-both{background:#052e16}.cf-sprint-card{text-align:center;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:3px solid #8b5cf6;border-radius:18px;padding:28px 20px;margin:16px 0}.dark .cf-sprint-card{background:linear-gradient(135deg,#1e1065,#2e1065);border-color:#a78bfa}.cf-sprint-question{font-size:17px;color:#5b21b6;font-weight:700;margin-bottom:12px;line-height:1.5}.dark .cf-sprint-question{color:#c4b5fd}.cf-sprint-big{font-size:44px;font-weight:900;color:#6d28d9;font-family:Courier New,monospace;margin:8px 0}.dark .cf-sprint-big{color:#a78bfa}.cf-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0}.cf-choice-btn{padding:12px 24px;border-radius:12px;font-size:18px;font-weight:800;border:3px solid #cbd5e1;background:#fff;color:#334155;cursor:pointer;transition:all .2s ease;min-width:80px}.dark .cf-choice-btn{background:#1e293b;border-color:#475569;color:#e2e8f0}.cf-choice-btn:hover{border-color:#6366f1;background:#eef2ff;transform:translateY(-2px)}.dark .cf-choice-btn:hover{border-color:#818cf8;background:#312e81}.cf-choice-btn.cf-choice-correct{background:#22c55e!important;border-color:#16a34a!important;color:#fff!important;animation:cfCorrectPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes cfCorrectPop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.cf-choice-btn.cf-choice-wrong{background:#ef4444!important;border-color:#dc2626!important;color:#fff!important;animation:cfWrongShake .4s ease}@keyframes cfWrongShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.cf-choice-btn.cf-choice-dim{opacity:.4;pointer-events:none}.cf-tf-row{display:flex;justify-content:center;gap:16px;margin:14px 0}.cf-tf-btn{padding:12px 32px;border-radius:14px;font-size:18px;font-weight:800;border:3px solid;cursor:pointer;transition:all .2s ease;min-width:120px}.cf-tf-true{background:#dcfce7;border-color:#22c55e;color:#166534}.cf-tf-true:hover{background:#bbf7d0;box-shadow:0 4px 12px #22c55e4d}.dark .cf-tf-true{background:#052e16;border-color:#4ade80;color:#86efac}.cf-tf-false{background:#fef2f2;border-color:#ef4444;color:#991b1b}.cf-tf-false:hover{background:#fee2e2;box-shadow:0 4px 12px #ef44444d}.dark .cf-tf-false{background:#450a0a;border-color:#f87171;color:#fca5a5}.cf-tf-btn.cf-tf-picked-correct{background:#22c55e!important;border-color:#16a34a!important;color:#fff!important}.cf-tf-btn.cf-tf-picked-wrong{background:#ef4444!important;border-color:#dc2626!important;color:#fff!important}.cf-tf-btn.cf-tf-dim{opacity:.4;pointer-events:none}.cf-input-row{display:flex;justify-content:center;align-items:center;gap:10px;margin:14px 0;flex-wrap:wrap}.cf-num-input{width:120px;padding:10px 14px;border:3px solid #cbd5e1;border-radius:12px;font-size:22px;font-weight:800;text-align:center;color:#1e293b;background:#fff;font-family:Courier New,monospace;transition:border-color .2s}.cf-num-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.dark .cf-num-input{background:#1e293b;color:#e2e8f0;border-color:#475569}.cf-input-correct{border-color:#22c55e!important;background:#f0fdf4!important}.cf-input-wrong{border-color:#ef4444!important;background:#fef2f2!important;animation:cfWrongShake .4s ease}.dark .cf-input-correct{background:#052e16!important}.dark .cf-input-wrong{background:#450a0a!important}.cf-timer-row{display:flex;align-items:center;gap:10px;margin:10px 0;font-weight:700;font-size:14px;color:#334155}.dark .cf-timer-row{color:#cbd5e1}.cf-timer-track{flex:1;height:10px;background:#e2e8f0;border-radius:99px;overflow:hidden}.dark .cf-timer-track{background:#334155}.cf-timer-fill{height:100%;border-radius:99px;background:#6366f1;transition:width 1s linear}.cf-timer-fill.cf-timer-warn{background:#f59e0b}.cf-timer-fill.cf-timer-danger{background:#ef4444}.cf-streak-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:999px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;font-size:14px;font-weight:800;color:#92400e;animation:cfStreakPulse .8s ease-in-out infinite alternate}@keyframes cfStreakPulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.cf-streak-chip span{font-size:18px;font-weight:900}.dark .cf-streak-chip{background:linear-gradient(135deg,#451a03,#78350f);border-color:#fbbf24;color:#fcd34d}.cf-step-strip{display:flex;justify-content:center;gap:6px;margin:12px 0}.cf-step-pip{width:12px;height:12px;border-radius:50%;background:#e2e8f0;transition:all .3s ease}.dark .cf-step-pip{background:#475569}.cf-step-pip.cf-pip-done{background:#22c55e}.cf-step-pip.cf-pip-active{background:#6366f1;transform:scale(1.3);box-shadow:0 0 8px #6366f166}.cf-explain{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2.5px solid #10b981;border-radius:14px;padding:14px 18px;margin:14px 0;animation:cfExplainIn .4s ease-out}@keyframes cfExplainIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dark .cf-explain{background:linear-gradient(135deg,#052e16,#064e3b);border-color:#34d399}.cf-explain h4{font-size:15px;font-weight:800;color:#065f46;margin:0 0 6px}.dark .cf-explain h4{color:#6ee7b7}.cf-explain p{font-size:14px;color:#1e293b;margin:4px 0;line-height:1.5}.dark .cf-explain p{color:#d1fae5}.cf-explain strong{color:#059669}.dark .cf-explain strong{color:#34d399}.cf-confetti-wrap{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999;overflow:hidden}.cf-confetti-piece{position:absolute;width:10px;height:10px;border-radius:2px;animation:cfConfettiFall linear forwards}@keyframes cfConfettiFall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@media (max-width: 560px){.cf-venn-wrap{height:200px}.cf-venn-circle{width:180px;height:180px;padding:18px 38px 18px 18px}.cf-venn-right{padding:18px 18px 18px 38px}.cf-venn-overlap{width:90px;height:180px}.cf-venn-chip{min-width:28px;height:26px;font-size:12px;padding:0 5px}.cf-pair-num{min-width:60px;height:56px;font-size:28px}.cf-factor-chip{min-width:44px;height:40px;font-size:17px;padding:0 10px}.cf-mult-chip{min-width:40px;height:36px;font-size:15px}.cf-machine{padding:16px 12px}.cf-choice-btn{padding:10px 16px;font-size:16px;min-width:60px}.cf-sprint-big{font-size:32px}.cf-sprint-question{font-size:15px}.cf-track-label{width:70px;font-size:11px}}@media (max-width: 400px){.cf-venn-wrap{height:170px}.cf-venn-circle{width:150px;height:150px;padding:14px 32px 14px 14px}.cf-venn-right{padding:14px 14px 14px 32px}.cf-venn-overlap{width:70px;height:150px}.cf-pair-num{min-width:50px;height:46px;font-size:22px;padding:0 12px}.cf-factor-chip{min-width:38px;height:36px;font-size:15px}.cf-tf-btn{padding:10px 20px;font-size:15px;min-width:90px}.cf-num-input{width:90px;font-size:18px}}
