@property --fx-r{syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}@property --fx-s{syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;
}body.fx-t{--fx-ink:#1a1a2e;--fx-muted:#55607a;--fx-line:rgba(26, 26, 46, 0.12);--fx-line-strong:rgba(26, 26, 46, 0.24);--fx-surface:rgba(255, 255, 255, 0.72);--fx-surface-solid:#ffffff;--fx-accent:#7450b8;--fx-accent-2:#4f6e4b;--fx-on-accent:#ffffff;--fx-tint-a:rgba(137, 101, 196, 0.12);--fx-tint-b:rgba(92, 122, 88, 0.12);--fx-grid:rgba(26, 26, 46, 0.045);--fx-shadow:0 22px 54px -34px rgba(60, 40, 110, 0.4);--fx-dye-a:137 101 196;--fx-dye-b:92 122 88;--fx-dye-strength:0.3;--fx-blob-a:rgba(137, 101, 196, 0.14);--fx-blob-b:rgba(92, 122, 88, 0.12);--fx-blob-c:rgba(201, 183, 232, 0.18);--fx-grain:0.06;--fx-grain-blend:multiply;--fx-radius-lg:26px;--fx-radius:22px;--fx-radius-sm:18px;--fx-pill:999px;--fx-ease:cubic-bezier(0.2, 0.8, 0.2, 1);--fx-mono:ui-monospace, "SFMono-Regular", "Cascadia Mono", Menlo, Consolas, monospace;--fx-serif:"Cormorant Garamond", Georgia, serif}html.dark body.fx-t{--fx-ink:#f1f5f9;--fx-muted:#a3adc2;--fx-line:rgba(255, 255, 255, 0.12);--fx-line-strong:rgba(255, 255, 255, 0.26);--fx-surface:rgba(24, 24, 31, 0.66);--fx-surface-solid:#18181f;--fx-accent:#c9b7e8;--fx-accent-2:#9db99a;--fx-on-accent:#14141c;--fx-tint-a:rgba(137, 101, 196, 0.2);--fx-tint-b:rgba(92, 122, 88, 0.16);--fx-grid:rgba(255, 255, 255, 0.04);--fx-shadow:0 22px 54px -34px rgba(0, 0, 0, 0.85);--fx-dye-a:201 183 232;--fx-dye-b:157 185 154;--fx-dye-strength:0.26;--fx-blob-a:rgba(137, 101, 196, 0.18);--fx-blob-b:rgba(92, 122, 88, 0.14);--fx-blob-c:rgba(201, 183, 232, 0.07);--fx-grain:0.08;--fx-grain-blend:soft-light}html.favourite body.fx-t{--fx-muted:#4b5568;--fx-line:rgba(74, 50, 110, 0.16);--fx-line-strong:rgba(74, 50, 110, 0.32);--fx-surface:rgba(255, 255, 255, 0.56);--fx-surface-solid:#f6f1fb;--fx-accent:#6b4a9e;--fx-accent-2:#4a6a47;--fx-tint-a:rgba(137, 101, 196, 0.16);--fx-tint-b:rgba(92, 122, 88, 0.16);--fx-grid:rgba(74, 50, 110, 0.05);--fx-dye-strength:0.4;--fx-blob-a:rgba(137, 101, 196, 0.22);--fx-blob-b:rgba(92, 122, 88, 0.22);--fx-blob-c:rgba(255, 255, 255, 0.36);--fx-grain:0.07}body.home-v2{--fx-dye-strength:0.34;--fx-blob-a:rgba(137, 101, 196, 0.16);--fx-blob-b:rgba(92, 122, 88, 0.14);--fx-blob-c:rgba(201, 183, 232, 0.22);--fx-grain:0.07}html.dark body.home-v2{--fx-dye-strength:0.3;--fx-blob-a:rgba(137, 101, 196, 0.2);--fx-blob-b:rgba(92, 122, 88, 0.16);--fx-blob-c:rgba(201, 183, 232, 0.08);--fx-grain:0.09}html.favourite body.home-v2{--fx-dye-strength:0.46;--fx-blob-a:rgba(137, 101, 196, 0.26);--fx-blob-b:rgba(92, 122, 88, 0.26);--fx-blob-c:rgba(255, 255, 255, 0.4);--fx-grain:0.08}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body.fx-t .hv-load{position:fixed;z-index:9999;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--fx-accent),var(--fx-accent-2));transform:scaleX(var(--p,.06));transform-origin:left center;transition:transform .6s var(--fx-ease),opacity .5s ease .35s;pointer-events:none}body.fx-t .hv-load.is-done{opacity:0}body.fx .card,body.fx .hextra-card,body.fx .recent-update-card{--fx-x:50%;--fx-y:0%;position:relative;border:1px solid var(--fx-line)!important;border-radius:var(--fx-radius)!important;background-color:var(--fx-surface)!important;background-image:radial-gradient(22rem circle at var(--fx-x) var(--fx-y),color-mix(in srgb,var(--fx-accent) var(--fx-s),transparent),transparent 62%)!important;box-shadow:var(--fx-shadow)!important;transform:none;transition:--fx-s .5s ease,border-color .45s var(--fx-ease),box-shadow .45s var(--fx-ease)!important}body.fx .card:hover,body.fx .hextra-card:hover,body.fx .recent-update-card:hover{--fx-s:18%;border-color:color-mix(in srgb,var(--fx-accent) 55%,transparent)!important;transform:none!important;box-shadow:var(--fx-shadow)!important}body.fx .card::after,body.fx .hextra-card::after,body.fx .recent-update-card::after{content:"";position:absolute;top:.85rem;right:.85rem;width:.65rem;height:.65rem;border-top:1px solid var(--fx-accent);border-right:1px solid var(--fx-accent);opacity:.4;transition:width .45s var(--fx-ease),height .45s var(--fx-ease),opacity .45s ease;pointer-events:none}body.fx .card:hover::after,body.fx .hextra-card:hover::after,body.fx .recent-update-card:hover::after{width:1.4rem;height:1.4rem;opacity:1}body.fx .card{color:var(--fx-ink)}body.fx .card h3,body.fx .card .card-icon{color:var(--fx-accent)}body.fx .card p{color:var(--fx-muted)}body.fx .hextra-card:has(.hextra-badge .hx\:bg-green-100),body.fx .hextra-card:has(.hextra-badge .hx\:bg-amber-100),body.fx .hextra-card:has(.hextra-badge .hx\:bg-purple-100){border-left:1px solid var(--fx-line)!important}body.fx .hextra-card:has(.hextra-badge .hx\:bg-green-100):hover,body.fx .hextra-card:has(.hextra-badge .hx\:bg-amber-100):hover,body.fx .hextra-card:has(.hextra-badge .hx\:bg-purple-100):hover{border-left-color:color-mix(in srgb,var(--fx-accent) 55%,transparent)!important}body.fx .hextra-card:has(.hextra-badge .hx\:bg-green-100)::after{border-color:#16a34a}body.fx .hextra-card:has(.hextra-badge .hx\:bg-amber-100)::after{border-color:#d97706}body.fx .hextra-card:has(.hextra-badge .hx\:bg-purple-100)::after{border-color:#9333ea}body.fx .recent-update-card::before{display:none}body.fx .recent-update-card{padding-left:1.1rem}body.fx .recent-update-newest{border-color:color-mix(in srgb,#c9971f 55%,transparent)!important}body.fx .recent-update-newest::after{border-color:#c9971f;opacity:.9}body.fx .btn-outline,body.fx .btn-primary{--fx-x:50%;--fx-y:50%;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.5rem;border:1px solid var(--fx-line-strong);border-radius:var(--fx-pill);background-color:var(--fx-surface);background-image:radial-gradient(circle at var(--fx-x) var(--fx-y),var(--fx-accent) var(--fx-r),transparent calc(var(--fx-r) + .5%));color:var(--fx-ink);font-weight:600;line-height:1.2;text-decoration:none;box-shadow:none;transform:none;transition:--fx-r .6s var(--fx-ease),color .4s var(--fx-ease),border-color .4s var(--fx-ease)}body.fx .btn-primary{border-color:transparent;background-color:var(--fx-accent);background-image:radial-gradient(circle at var(--fx-x) var(--fx-y),var(--fx-accent-2) var(--fx-r),transparent calc(var(--fx-r) + .5%));color:var(--fx-on-accent);box-shadow:0 14px 34px -16px var(--fx-accent)}body.fx .btn-outline:hover,body.fx .btn-outline:focus-visible,body.fx .btn-primary:hover,body.fx .btn-primary:focus-visible,body.fx a.card:hover .btn-outline{--fx-r:150%;border-color:transparent;background-color:var(--fx-surface);color:var(--fx-on-accent);transform:none;text-decoration:none}body.fx .btn-primary:hover,body.fx .btn-primary:focus-visible{background-color:var(--fx-accent)}body.fx .card .btn-outline{--fx-x:50%;--fx-y:50%}body.fx .btn-outline:focus-visible,body.fx .btn-primary:focus-visible{outline:2px solid var(--fx-accent);outline-offset:3px}body.fx .hextra-alert{--fx-tone:var(--fx-accent);position:relative;border-width:1px!important;border-left-width:1px!important;border-style:solid!important;border-color:color-mix(in srgb,var(--fx-tone) 42%,transparent)!important;border-left-color:color-mix(in srgb,var(--fx-tone) 42%,transparent)!important;border-radius:var(--fx-radius-sm)!important;background-color:color-mix(in srgb,var(--fx-tone) 8%,var(--fx-surface-solid))!important;box-shadow:none!important}body.fx .hextra-alert::after{content:"";position:absolute;top:.7rem;right:.7rem;width:.6rem;height:.6rem;border-top:2px solid var(--fx-tone);border-right:2px solid var(--fx-tone);pointer-events:none}body.fx .hextra-alert .hextra-alert-icon,body.fx .hextra-alert svg:first-child{color:var(--fx-tone)}body.fx .hextra-alert[data-alert=note]{--fx-tone:#3b82f6}body.fx .hextra-alert[data-alert=tip]{--fx-tone:#16a34a}body.fx .hextra-alert[data-alert=important]{--fx-tone:#9333ea}body.fx .hextra-alert[data-alert=warning]{--fx-tone:#d97706}body.fx .hextra-alert[data-alert=caution]{--fx-tone:#dc2626}html.dark body.fx .hextra-alert[data-alert=note]{--fx-tone:#60a5fa}html.dark body.fx .hextra-alert[data-alert=tip]{--fx-tone:#4ade80}html.dark body.fx .hextra-alert[data-alert=important]{--fx-tone:#c084fc}html.dark body.fx .hextra-alert[data-alert=warning]{--fx-tone:#fbbf24}html.dark body.fx .hextra-alert[data-alert=caution]{--fx-tone:#f87171}body.fx .testimonial-quote-block{border:1px solid color-mix(in srgb,var(--fx-accent) 30%,transparent);border-left:1px solid color-mix(in srgb,var(--fx-accent) 30%,transparent);border-radius:var(--fx-radius);background:color-mix(in srgb,var(--fx-accent) 5%,var(--fx-surface))}body.fx .gic-article h3{padding-left:0;padding-bottom:.4rem;border-left:0;background:linear-gradient(var(--accent,var(--fx-accent)),var(--accent,var(--fx-accent)))0 100%/2.4rem 2px no-repeat}body.fx .gic-schedule{border-left-width:1px}body.fx .biolab-archive-framing-note{border:1px solid rgba(217,119,6,.4);border-left:1px solid rgba(217,119,6,.4);border-radius:16px}html.dark body.fx .biolab-archive-framing-note{border-color:rgba(251,191,36,.4)}body.fx .biolab-hub-card,body.fx .fr-hero,body.fx .fp-hero{border:1px solid var(--fx-line);border-radius:var(--fx-radius-lg);background:radial-gradient(70% 90% at 0% 0%,var(--fx-tint-a),transparent 62%),radial-gradient(70% 90% at 100% 100%,var(--fx-tint-b),transparent 62%),repeating-linear-gradient(0,var(--fx-grid) 0,var(--fx-grid) 1px,transparent 1px,transparent 32px),repeating-linear-gradient(90deg,var(--fx-grid) 0,var(--fx-grid) 1px,transparent 1px,transparent 32px),var(--fx-surface);box-shadow:var(--fx-shadow);color:var(--fx-ink)}body.fx .biolab-hub-header,body.fx .fr-kicker,body.fx .fp-kicker{font-family:var(--fx-mono);font-weight:400;letter-spacing:.14em;color:var(--fx-accent)}body.fx .biolab-hub-status{color:#b45309}body.fx .biolab-hub-status .biolab-status-dot{background:#d97706}html.dark body.fx .biolab-hub-status{color:#fbbf24}html.dark body.fx .biolab-hub-status .biolab-status-dot{background:#fbbf24}body.fx .biolab-hub-glow{background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--fx-accent) 30%,#ffffff),var(--fx-accent) 75%);box-shadow:0 0 45px 12px color-mix(in srgb,var(--fx-accent) 30%,transparent)}body.fx .biolab-hub-ring{border-color:color-mix(in srgb,var(--fx-accent) 30%,transparent)}body.fx .biolab-hub-ring-2{border-color:color-mix(in srgb,var(--fx-accent-2) 30%,transparent)}body.fx .biolab-hub-step{border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:var(--fx-surface)}body.fx .biolab-hub-step-num{background:var(--fx-accent);color:var(--fx-on-accent)}body.fx .biolab-hub-step h3,body.fx .fp-title,body.fx .fr-hero h1,body.fx .fr-hero h2{color:var(--fx-ink)!important}body.fx .biolab-hub-step p,body.fx .fp-lede,body.fx .fr-hero p{color:var(--fx-muted)}body.fx .fr-hero .fr-kicker{color:var(--fx-accent)}body.fx .biolab-hub-arrow{color:var(--fx-accent)}body.fx .fr-pill,body.fx .fp-promise{border:1px solid var(--fx-line);background:var(--fx-surface);color:var(--fx-ink)}body.fx .fp-btn{position:relative;border:1px solid transparent;border-radius:var(--fx-pill);background-color:var(--fx-accent);background-image:radial-gradient(circle at var(--fx-x,50%) var(--fx-y,50%),var(--fx-accent-2) var(--fx-r),transparent calc(var(--fx-r) + .5%));color:var(--fx-on-accent)!important;box-shadow:0 14px 34px -16px var(--fx-accent);transform:none;transition:--fx-r .6s var(--fx-ease)}body.fx .fp-btn:hover,body.fx .fp-btn:focus-visible{--fx-r:150%;transform:none}html body.fx .cg-btn-ghost,html body.fx .cg-btn-light,html body.fx .papers-nav-btn,html body.fx .fr-lab-btn,html body.fx .fr-viz-btn,html body.fx .fr-pop-btn,html body.fx .fr-article .fr-note-btn,html body.fx .biolab-archive-calibrate-btn,html body.fx .biolab-archive-publish-toggle,html body.fx .biolab-archive-report-btn,html body.fx .challenge-cta-link,html body.fx .prep-tour-trigger,html body.fx .bio-ludo-setup-btn,html body.fx .bio-ludo-duel-target-btn,html body.fx .cg-btn-primary,html body.fx .prep-picker-result-link,html body.fx .papers-nav-btn.papers-nav-next,html body.fx .bio-ludo-roll-btn,html body.fx .bio-ludo-end-turn-btn,html body.fx .bio-ludo-duel-btn,html body.fx .bio-ludo-revive-btn,html body.fx .tf-quiz-submit{--fx-x:50%;--fx-y:50%;--fx-btn-fill:var(--fx-accent);--fx-btn-on:var(--fx-on-accent);border:1px solid var(--fx-line-strong);border-radius:var(--fx-pill);background-color:var(--fx-surface);background-image:radial-gradient(circle at var(--fx-x) var(--fx-y),var(--fx-btn-fill) var(--fx-r),transparent calc(var(--fx-r) + .5%));color:var(--fx-ink)!important;text-decoration:none;box-shadow:none;transform:none;transition:--fx-r .6s var(--fx-ease),color .4s var(--fx-ease),border-color .4s var(--fx-ease)}html body.fx .cg-btn-primary,html body.fx .prep-picker-result-link,html body.fx .papers-nav-btn.papers-nav-next,html body.fx .bio-ludo-roll-btn,html body.fx .bio-ludo-end-turn-btn,html body.fx .bio-ludo-duel-btn,html body.fx .bio-ludo-revive-btn,html body.fx .tf-quiz-submit{--fx-btn-fill:var(--fx-accent-2);border-color:transparent;background-color:var(--fx-accent);color:var(--fx-on-accent)!important;box-shadow:0 14px 34px -16px var(--fx-accent)}html body.fx .cg-btn-ghost:not(:disabled):hover,html body.fx .cg-btn-ghost:focus-visible,html body.fx .cg-btn-light:not(:disabled):hover,html body.fx .cg-btn-light:focus-visible,html body.fx .papers-nav-btn:not(:disabled):hover,html body.fx .papers-nav-btn:focus-visible,html body.fx .fr-lab-btn:not(:disabled):hover,html body.fx .fr-lab-btn:focus-visible,html body.fx .fr-viz-btn:not(:disabled):hover,html body.fx .fr-viz-btn:focus-visible,html body.fx .fr-pop-btn:not(:disabled):hover,html body.fx .fr-pop-btn:focus-visible,html body.fx .fr-article .fr-note-btn:not(:disabled):hover,html body.fx .fr-article .fr-note-btn:focus-visible,html body.fx .biolab-archive-calibrate-btn:not(:disabled):hover,html body.fx .biolab-archive-calibrate-btn:focus-visible,html body.fx .biolab-archive-publish-toggle:not(:disabled):hover,html body.fx .biolab-archive-publish-toggle:focus-visible,html body.fx .biolab-archive-report-btn:not(:disabled):hover,html body.fx .biolab-archive-report-btn:focus-visible,html body.fx .challenge-cta-link:not(:disabled):hover,html body.fx .challenge-cta-link:focus-visible,html body.fx .prep-tour-trigger:not(:disabled):hover,html body.fx .prep-tour-trigger:focus-visible,html body.fx .bio-ludo-setup-btn:not(:disabled):hover,html body.fx .bio-ludo-setup-btn:focus-visible,html body.fx .bio-ludo-duel-target-btn:not(:disabled):hover,html body.fx .bio-ludo-duel-target-btn:focus-visible,html body.fx .cg-btn-primary:not(:disabled):hover,html body.fx .cg-btn-primary:focus-visible,html body.fx .prep-picker-result-link:not(:disabled):hover,html body.fx .prep-picker-result-link:focus-visible,html body.fx .papers-nav-btn.papers-nav-next:not(:disabled):hover,html body.fx .papers-nav-btn.papers-nav-next:focus-visible,html body.fx .bio-ludo-roll-btn:not(:disabled):hover,html body.fx .bio-ludo-roll-btn:focus-visible,html body.fx .bio-ludo-end-turn-btn:not(:disabled):hover,html body.fx .bio-ludo-end-turn-btn:focus-visible,html body.fx .bio-ludo-duel-btn:not(:disabled):hover,html body.fx .bio-ludo-duel-btn:focus-visible,html body.fx .bio-ludo-revive-btn:not(:disabled):hover,html body.fx .bio-ludo-revive-btn:focus-visible,html body.fx .tf-quiz-submit:not(:disabled):hover,html body.fx .tf-quiz-submit:focus-visible{--fx-r:150%;border-color:transparent;color:var(--fx-btn-on)!important;transform:none;text-decoration:none}html body.fx .cg-btn-ghost:not(:disabled):hover,html body.fx .cg-btn-ghost:focus-visible,html body.fx .cg-btn-light:not(:disabled):hover,html body.fx .cg-btn-light:focus-visible,html body.fx .papers-nav-btn:not(:disabled):hover,html body.fx .papers-nav-btn:focus-visible,html body.fx .fr-lab-btn:not(:disabled):hover,html body.fx .fr-lab-btn:focus-visible,html body.fx .fr-viz-btn:not(:disabled):hover,html body.fx .fr-viz-btn:focus-visible,html body.fx .fr-pop-btn:not(:disabled):hover,html body.fx .fr-pop-btn:focus-visible,html body.fx .fr-article .fr-note-btn:not(:disabled):hover,html body.fx .fr-article .fr-note-btn:focus-visible,html body.fx .biolab-archive-calibrate-btn:not(:disabled):hover,html body.fx .biolab-archive-calibrate-btn:focus-visible,html body.fx .biolab-archive-publish-toggle:not(:disabled):hover,html body.fx .biolab-archive-publish-toggle:focus-visible,html body.fx .biolab-archive-report-btn:not(:disabled):hover,html body.fx .biolab-archive-report-btn:focus-visible,html body.fx .challenge-cta-link:not(:disabled):hover,html body.fx .challenge-cta-link:focus-visible,html body.fx .prep-tour-trigger:not(:disabled):hover,html body.fx .prep-tour-trigger:focus-visible,html body.fx .bio-ludo-setup-btn:not(:disabled):hover,html body.fx .bio-ludo-setup-btn:focus-visible,html body.fx .bio-ludo-duel-target-btn:not(:disabled):hover,html body.fx .bio-ludo-duel-target-btn:focus-visible{background-color:var(--fx-surface)}html body.fx .cg-btn-primary:not(:disabled):hover,html body.fx .cg-btn-primary:focus-visible,html body.fx .prep-picker-result-link:not(:disabled):hover,html body.fx .prep-picker-result-link:focus-visible,html body.fx .papers-nav-btn.papers-nav-next:not(:disabled):hover,html body.fx .papers-nav-btn.papers-nav-next:focus-visible,html body.fx .bio-ludo-roll-btn:not(:disabled):hover,html body.fx .bio-ludo-roll-btn:focus-visible,html body.fx .bio-ludo-end-turn-btn:not(:disabled):hover,html body.fx .bio-ludo-end-turn-btn:focus-visible,html body.fx .bio-ludo-duel-btn:not(:disabled):hover,html body.fx .bio-ludo-duel-btn:focus-visible,html body.fx .bio-ludo-revive-btn:not(:disabled):hover,html body.fx .bio-ludo-revive-btn:focus-visible,html body.fx .tf-quiz-submit:not(:disabled):hover,html body.fx .tf-quiz-submit:focus-visible{background-color:var(--fx-accent);box-shadow:0 14px 34px -16px var(--fx-accent)}html body.fx .cg-btn-ghost:focus-visible,html body.fx .cg-btn-light:focus-visible,html body.fx .papers-nav-btn:focus-visible,html body.fx .fr-lab-btn:focus-visible,html body.fx .fr-viz-btn:focus-visible,html body.fx .fr-pop-btn:focus-visible,html body.fx .fr-article .fr-note-btn:focus-visible,html body.fx .biolab-archive-calibrate-btn:focus-visible,html body.fx .biolab-archive-publish-toggle:focus-visible,html body.fx .biolab-archive-report-btn:focus-visible,html body.fx .challenge-cta-link:focus-visible,html body.fx .prep-tour-trigger:focus-visible,html body.fx .bio-ludo-setup-btn:focus-visible,html body.fx .bio-ludo-duel-target-btn:focus-visible,html body.fx .cg-btn-primary:focus-visible,html body.fx .prep-picker-result-link:focus-visible,html body.fx .papers-nav-btn.papers-nav-next:focus-visible,html body.fx .bio-ludo-roll-btn:focus-visible,html body.fx .bio-ludo-end-turn-btn:focus-visible,html body.fx .bio-ludo-duel-btn:focus-visible,html body.fx .bio-ludo-revive-btn:focus-visible,html body.fx .tf-quiz-submit:focus-visible,html body.fx .book-filter-btn:focus-visible,html body.fx .prep-picker-btn:focus-visible,html body.fx .olympiad-directory-filter-btn:focus-visible,html body.fx .biolab-reaction:focus-visible{outline:2px solid var(--fx-accent);outline-offset:3px}html body.fx .cg-btn-ghost:disabled,html body.fx .cg-btn-light:disabled,html body.fx .papers-nav-btn:disabled,html body.fx .fr-lab-btn:disabled,html body.fx .fr-viz-btn:disabled,html body.fx .fr-pop-btn:disabled,html body.fx .fr-article .fr-note-btn:disabled,html body.fx .biolab-archive-calibrate-btn:disabled,html body.fx .biolab-archive-publish-toggle:disabled,html body.fx .biolab-archive-report-btn:disabled,html body.fx .challenge-cta-link:disabled,html body.fx .prep-tour-trigger:disabled,html body.fx .bio-ludo-setup-btn:disabled,html body.fx .bio-ludo-duel-target-btn:disabled,html body.fx .cg-btn-primary:disabled,html body.fx .prep-picker-result-link:disabled,html body.fx .papers-nav-btn.papers-nav-next:disabled,html body.fx .bio-ludo-roll-btn:disabled,html body.fx .bio-ludo-end-turn-btn:disabled,html body.fx .bio-ludo-duel-btn:disabled,html body.fx .bio-ludo-revive-btn:disabled,html body.fx .tf-quiz-submit:disabled{opacity:.4;cursor:not-allowed}html body.fx .cg-btn-light{background-color:var(--fx-surface-solid)}html body.fx .cg-btn-light:not(:disabled):hover,html body.fx .cg-btn-light:focus-visible{background-color:var(--fx-surface-solid)}html body.fx .biolab-archive-report-btn{--fx-btn-fill:#b91c1c;--fx-btn-on:#ffffff;border-color:rgba(220,38,38,.45);color:#b91c1c!important}html.dark body.fx .biolab-archive-report-btn{--fx-btn-fill:#dc2626;border-color:rgba(248,113,113,.45);color:#fca5a5!important}html body.fx .bio-ludo-revive-btn{--fx-btn-fill:var(--fx-accent);background-color:var(--fx-accent-2);box-shadow:0 14px 34px -16px var(--fx-accent-2)}html body.fx .bio-ludo-revive-btn:not(:disabled):hover,html body.fx .bio-ludo-revive-btn:focus-visible{background-color:var(--fx-accent-2)}html body.fx .fr-viz-btn.is-on{border-color:transparent;background-color:var(--fx-accent);color:var(--fx-on-accent)!important}html body.fx .fr-pop-btn-note{background-color:color-mix(in srgb,var(--fx-accent) 10%,var(--fx-surface))}html body.fx .book-filter-btn,html body.fx .prep-picker-btn,html body.fx .olympiad-directory-filter-btn,html body.fx .biolab-reaction{border:1px solid var(--fx-line-strong);border-radius:var(--fx-pill);background:var(--fx-surface);color:var(--fx-ink);box-shadow:none;transform:none;transition:background-color .3s ease,color .3s ease,border-color .3s ease}html body.fx .book-filter-btn:hover,html body.fx .prep-picker-btn:hover,html body.fx .olympiad-directory-filter-btn:hover,html body.fx .biolab-reaction:hover{border-color:var(--fx-accent);background:color-mix(in srgb,var(--fx-accent) 10%,var(--fx-surface));color:var(--fx-ink);transform:none}html body.fx .book-filter-btn.is-active,html body.fx .book-filter-btn.is-active:hover,html body.fx .prep-picker-btn.is-active,html body.fx .prep-picker-btn.is-active:hover,html body.fx .olympiad-directory-filter-btn.is-active,html body.fx .olympiad-directory-filter-btn.is-active:hover,html body.fx .biolab-reaction.is-active,html body.fx .biolab-reaction.is-active:hover{border-color:transparent;background:var(--fx-accent);color:var(--fx-on-accent);box-shadow:none}html body.fx .olympiad-directory-filter-btn{border-color:transparent;background:0 0}body.fx .fx-reveal{opacity:0;transform:translate3d(0,26px,0)!important}body.fx .fx-reveal.is-in{opacity:1;transform:none!important;transition:opacity .7s ease var(--fx-d,0ms),transform .95s var(--fx-ease)var(--fx-d,0ms)!important}@media(max-width:640px){body.fx .card,body.fx .hextra-card,body.fx .recent-update-card{border-radius:var(--fx-radius-sm)!important}}@media(prefers-reduced-motion:reduce){body.fx .fx-reveal{opacity:1;transform:none!important}}body.fx-2 .fx2-ambient,body.fx-2 .fx2-fluid,body.fx-2 .fx2-grain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}body.fx-2 .fx2-ambient{z-index:-3;overflow:hidden}body.fx-2 .fx2-fluid{z-index:-2;opacity:0;transition:opacity 1.2s ease}body.fx-2 .fx2-fluid.is-on{opacity:1}body.fx-2 .fx2-grain{z-index:3;inset:-100px;width:auto;height:auto;opacity:var(--fx-grain);mix-blend-mode:var(--fx-grain-blend);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:220px 220px;animation:fx2-grain .9s steps(6)infinite}@keyframes fx2-grain{0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-38px,22px,0)}40%{transform:translate3d(26px,-44px,0)}60%{transform:translate3d(-52px,-18px,0)}80%{transform:translate3d(44px,36px,0)}100%{transform:translate3d(0,0,0)}}body.fx-2 .fx2-blob{position:absolute;width:62vmax;height:62vmax}body.fx-2 .fx2-blob i{display:block;width:100%;height:100%;border-radius:50%;filter:blur(40px);will-change:transform}body.fx-2 .fx2-blob--a{top:-22vmax;left:-18vmax}body.fx-2 .fx2-blob--a i{background:radial-gradient(circle at 50% 50%,var(--fx-blob-a),transparent 62%);animation:fx2-drift-a 46s ease-in-out infinite alternate}body.fx-2 .fx2-blob--b{bottom:-26vmax;right:-20vmax}body.fx-2 .fx2-blob--b i{background:radial-gradient(circle at 50% 50%,var(--fx-blob-b),transparent 62%);animation:fx2-drift-b 58s ease-in-out infinite alternate}body.fx-2 .fx2-blob--c{top:24vh;left:34vw;width:44vmax;height:44vmax}body.fx-2 .fx2-blob--c i{background:radial-gradient(circle at 50% 50%,var(--fx-blob-c),transparent 60%);animation:fx2-drift-c 71s ease-in-out infinite alternate}@keyframes fx2-drift-a{from{transform:translate3d(0,0,0)scale(1)}to{transform:translate3d(14vw,10vh,0)scale(1.18)}}@keyframes fx2-drift-b{from{transform:translate3d(0,0,0)scale(1.1)}to{transform:translate3d(-16vw,-12vh,0)scale(.92)}}@keyframes fx2-drift-c{from{transform:translate3d(-8vw,6vh,0)scale(.9)}to{transform:translate3d(10vw,-10vh,0)scale(1.2)}}@keyframes fx2-rise{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:none}}body.fx-2 #content h1{animation:fx2-rise 1s var(--fx-ease)both}body.fx-2 #content>h1{margin:1.5rem 0 2rem;padding:0 0 1.1rem;border:0;font-family:var(--fx-serif)!important;font-weight:500!important;font-size:clamp(2.5rem,6vw,4.8rem)!important;line-height:.98;letter-spacing:-.025em!important;text-align:left;color:var(--fx-ink);background:linear-gradient(90deg,var(--fx-accent),var(--fx-accent-2))0 100%/4.5rem 2px no-repeat}@media(max-width:960px),(hover:none){body.fx-2 .fx2-grain{inset:0;animation:none;mix-blend-mode:normal;opacity:calc(var(--fx-grain) * .6)}body.fx-2 .fx2-blob i{animation:none;filter:blur(24px)}}@media(prefers-reduced-motion:reduce){body.fx-2 .fx2-grain,body.fx-2 .fx2-blob i,body.fx-2 #content h1{animation:none}}body.fx #content>h1{position:relative;padding-top:1.6rem}body.fx #content>h1::before{content:"Live / Weekend paper solving";position:absolute;top:0;left:0;font-family:var(--fx-mono);font-size:.72rem;font-weight:400;line-height:1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:var(--fx-accent)}body.fx .live-intro{max-width:42rem;font-size:1.05rem;line-height:1.65;color:var(--fx-muted)}body.fx .live-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.7rem;margin:1.5rem 0 2.25rem;padding:0;list-style:none;counter-reset:live-step}body.fx .live-steps li{counter-increment:live-step;margin:0;padding:1rem 1.1rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:var(--fx-surface);font-size:.95rem;line-height:1.5;color:var(--fx-muted)}body.fx .live-steps li::before{content:"0" counter(live-step);display:block;margin-bottom:.4rem;font-family:var(--fx-mono);font-size:.7rem;letter-spacing:.14em;color:var(--fx-accent)}body.fx .live-steps strong{color:var(--fx-ink)}body.fx .live-status,body.fx .live-label{font-family:var(--fx-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-label{margin:2.25rem 0 .8rem;color:var(--fx-accent)}body.fx .live-layout{display:grid;grid-template-columns:minmax(0,1.05fr)minmax(0,1fr);gap:1.25rem;align-items:start}body.fx .live-cal,body.fx .live-card,body.fx .live-staff-panel{position:relative;padding:1.4rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius);background:radial-gradient(70% 90% at 0% 0%,var(--fx-tint-a),transparent 62%),radial-gradient(70% 90% at 100% 100%,var(--fx-tint-b),transparent 62%),var(--fx-surface);box-shadow:var(--fx-shadow)}body.fx .live-cal-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}body.fx .live-cal-month{margin:0;font-family:var(--fx-serif);font-size:1.7rem;font-weight:600;line-height:1;color:var(--fx-ink)}body.fx .live-cal-nav{width:2.2rem;height:2.2rem;border:1px solid var(--fx-line-strong);border-radius:50%;background:0 0;color:var(--fx-ink);font-size:1rem;line-height:1;cursor:pointer;transition:border-color .4s var(--fx-ease),color .4s var(--fx-ease)}body.fx .live-cal-nav:hover,body.fx .live-cal-nav:focus-visible{border-color:var(--fx-accent);color:var(--fx-accent)}body.fx .live-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}body.fx .live-cal-dow{padding-bottom:.3rem;font-family:var(--fx-mono);font-size:.64rem;letter-spacing:.1em;text-align:center;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-day{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;aspect-ratio:1;padding:.4rem .45rem;border:1px solid transparent;border-radius:12px;background:0 0;font-family:var(--fx-mono);font-size:.78rem;color:var(--fx-muted)}body.fx .live-day.is-today{border-color:var(--fx-line-strong);color:var(--fx-ink)}body.fx button.live-day{border-color:color-mix(in srgb,var(--fx-accent) 35%,transparent);background:color-mix(in srgb,var(--fx-accent) 10%,transparent);color:var(--fx-ink);cursor:pointer;transition:background-color .4s var(--fx-ease),border-color .4s var(--fx-ease)}body.fx button.live-day::after{content:"";position:absolute;right:.45rem;bottom:.45rem;width:.45rem;height:.45rem;border-radius:50%;background:var(--fx-accent)}body.fx button.live-day.is-mine::after{width:.6rem;height:.6rem;background:var(--fx-accent-2)}body.fx button.live-day.is-off{border-style:dashed;background:0 0;color:var(--fx-muted)}body.fx button.live-day.is-off::after{background:var(--fx-line-strong)}body.fx button.live-day:hover,body.fx button.live-day:focus-visible{border-color:var(--fx-accent);background:color-mix(in srgb,var(--fx-accent) 18%,transparent)}body.fx button.live-day.is-selected{border-color:var(--fx-accent);background:var(--fx-accent);color:var(--fx-on-accent)}body.fx button.live-day.is-selected::after{background:var(--fx-on-accent)}body.fx .live-cal-key{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:1rem 0 0;font-family:var(--fx-mono);font-size:.66rem;letter-spacing:.06em;color:var(--fx-muted)}body.fx .live-cal-key i{display:inline-block;width:.5rem;height:.5rem;margin-right:.35rem;border-radius:50%;background:var(--fx-accent)}body.fx .live-cal-key i.is-mine{background:var(--fx-accent-2)}body.fx .live-agenda{display:none}body.fx .live-panel{display:flex;flex-direction:column;gap:.9rem}body.fx .live-card-label{margin:0 0 .5rem;font-family:var(--fx-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-accent)}body.fx .live-card-title{margin:0 0 .9rem;font-family:var(--fx-serif);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;line-height:1.08;color:var(--fx-ink)}body.fx .live-meta{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;align-items:baseline;margin:0 0 1rem;font-size:.95rem}body.fx .live-meta dt{font-family:var(--fx-mono);font-size:.68rem;letter-spacing:.1em;line-height:1.9;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-meta dd{margin:0;color:var(--fx-ink)}body.fx .live-meta small{display:block;font-family:var(--fx-mono);font-size:.7rem;color:var(--fx-muted)}body.fx .live-note{margin:0 0 1rem;white-space:pre-line;line-height:1.6;color:var(--fx-muted)}body.fx .live-badge{display:inline-block;padding:.2rem .65rem;border:1px solid var(--fx-line-strong);border-radius:var(--fx-pill);font-family:var(--fx-mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-badge.is-on{border-color:color-mix(in srgb,var(--fx-accent-2) 55%,transparent);background:color-mix(in srgb,var(--fx-accent-2) 12%,transparent);color:var(--fx-accent-2)}body.fx .live-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1rem}body.fx .live-hint,body.fx .live-consent,body.fx .live-msg{margin:.7rem 0 0;font-size:.86rem;line-height:1.55;color:var(--fx-muted)}body.fx .live-msg.is-error{color:#b3261e}html.dark body.fx .live-msg.is-error{color:#f2b8b5}body.fx .live-form{display:grid;gap:.8rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--fx-line)}body.fx .live-form label{display:grid;gap:.3rem;font-family:var(--fx-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-form input,body.fx .live-form select,body.fx .live-form textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--fx-line-strong);border-radius:14px;background:var(--fx-surface-solid);font:inherit;font-family:inherit;font-size:.95rem;letter-spacing:0;text-transform:none;color:var(--fx-ink)}body.fx .live-form input:focus-visible,body.fx .live-form select:focus-visible,body.fx .live-form textarea:focus-visible{border-color:var(--fx-accent);outline:2px solid color-mix(in srgb,var(--fx-accent) 40%,transparent);outline-offset:1px}body.fx .live-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.8rem}body.fx .live-archive{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}body.fx .live-archive li{display:grid;grid-template-columns:9rem 1fr auto;gap:.4rem 1rem;align-items:baseline;margin:0;padding:.8rem 1.1rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:var(--fx-surface)}body.fx .live-archive time,body.fx .live-archive span{font-family:var(--fx-mono);font-size:.7rem;letter-spacing:.06em;color:var(--fx-muted)}body.fx .live-archive strong{font-family:var(--fx-serif);font-size:1.2rem;font-weight:600;color:var(--fx-ink)}body.fx .live-staff-panel+.live-staff-panel{margin-top:1rem}body.fx .live-staff-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:1rem}body.fx .live-staff-session{margin-top:.6rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:var(--fx-surface)}body.fx .live-staff-session summary{display:grid;grid-template-columns:11rem 1fr auto auto;gap:.4rem 1rem;align-items:baseline;padding:.9rem 1.1rem;cursor:pointer;list-style:none}body.fx .live-staff-session summary::-webkit-details-marker{display:none}body.fx .live-staff-session summary time,body.fx .live-staff-session summary span{font-family:var(--fx-mono);font-size:.7rem;letter-spacing:.06em;color:var(--fx-muted)}body.fx .live-staff-session summary strong{font-family:var(--fx-serif);font-size:1.25rem;font-weight:600;color:var(--fx-ink)}body.fx .live-staff-body{padding:0 1.1rem 1.1rem}body.fx .live-staff-body .live-actions{margin:0 0 .9rem}body.fx .live-roster-wrap{overflow-x:auto}body.fx .live-roster{width:100%;margin:0;border-collapse:collapse;font-size:.9rem}body.fx .live-roster th,body.fx .live-roster td{padding:.5rem .7rem;border:0;border-bottom:1px solid var(--fx-line);background:0 0;text-align:left;vertical-align:top}body.fx .live-roster th{font-family:var(--fx-mono);font-size:.64rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--fx-muted)}body.fx .live-roster td.is-question{min-width:14rem;white-space:pre-line;color:var(--fx-muted)}@media(max-width:900px){body.fx .live-layout{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){body.fx #content>h1::before{font-size:.64rem;letter-spacing:.1em}body.fx .live-cal{display:none}body.fx .live-agenda{display:flex;flex-direction:column;gap:.5rem}body.fx .live-agenda button{display:grid;gap:.2rem;padding:.8rem 1rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:var(--fx-surface);text-align:left;color:var(--fx-ink);cursor:pointer}body.fx .live-agenda button.is-selected{border-color:var(--fx-accent)}body.fx .live-agenda time{font-family:var(--fx-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-accent)}body.fx .live-agenda strong{font-family:var(--fx-serif);font-size:1.2rem;font-weight:600}body.fx .live-cal,body.fx .live-card,body.fx .live-staff-panel{padding:1.1rem 1rem;border-radius:var(--fx-radius-sm)}body.fx .live-archive li,body.fx .live-staff-session summary{grid-template-columns:1fr}}body.fx .live-mine:empty{display:none}body.fx .live-mine{margin:1.25rem 0;padding:1.1rem 1.25rem;border:1px solid var(--fx-line);border-radius:var(--fx-radius-sm);background:radial-gradient(70% 120% at 0% 0%,var(--fx-tint-a),transparent 62%),var(--fx-surface)}body.fx .live-mine-label{margin:0 0 .6rem;font-family:var(--fx-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fx-accent)}body.fx .live-mine-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none}body.fx .live-mine-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .9rem;margin:0}body.fx .live-mine-list time{font-family:var(--fx-mono);font-size:.72rem;letter-spacing:.06em;color:var(--fx-muted)}body.fx .live-mine-list a,body.fx .live-mine-list button.live-mine-pick{padding:0;border:0;background:0 0;font-family:var(--fx-serif);font-size:1.2rem;font-weight:600;text-align:left;text-decoration:none;color:var(--fx-ink);cursor:pointer}body.fx .live-mine-list a:hover,body.fx .live-mine-list button.live-mine-pick:hover{color:var(--fx-accent)}body.fx .live-mine-out{margin-left:auto;padding:.15rem .7rem;border:1px solid var(--fx-line-strong);border-radius:var(--fx-pill);background:0 0;font-family:var(--fx-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fx-muted);cursor:pointer}body.fx .live-mine-out:hover{border-color:var(--fx-accent);color:var(--fx-accent)}body.fx .live-mine-more{display:inline-block;margin-top:.7rem;font-family:var(--fx-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--fx-accent)}