.ctf-page{--ctf-ink:#f5fbff;--ctf-muted:#a6bdd0;--ctf-dim:#6f8296;--ctf-bg:#05070d;--ctf-panel:rgba(9,16,30,0.82);--ctf-panel-strong:rgba(13,24,43,0.94);--ctf-line:rgba(134,207,255,0.18);--ctf-cyan:#66e4ff;--ctf-purple:#9f7aff;--ctf-gold:#ffd166;--ctf-red:#ff6b8a;--ctf-green:#6dffa8;--ctf-radius:22px;--ctf-sans:var(--font-primary,'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif);--ctf-display:var(--font-display,'Sora',var(--ctf-sans));--ctf-mono:var(--font-mono,'JetBrains Mono','SFMono-Regular',Menlo,Monaco,Consolas,monospace);background:radial-gradient(circle at 12% 5%,rgba(159,122,255,0.24),transparent 31rem),radial-gradient(circle at 86% 14%,rgba(102,228,255,0.18),transparent 28rem),linear-gradient(180deg,#05070d 0,#08101c 48%,#05070d 100%);color:var(--ctf-ink);font-family:var(--ctf-sans);margin-top:-1px;overflow:hidden;position:relative}.ctf-page::before{background-image:linear-gradient(rgba(102,228,255,0.034) 1px,transparent 1px),linear-gradient(90deg,rgba(102,228,255,0.034) 1px,transparent 1px);background-size:44px 44px;content:"";inset:0;mask-image:linear-gradient(180deg,rgba(0,0,0,0.8),transparent 64%);pointer-events:none;position:absolute}.ctf-shell{margin:0 auto;max-width:1360px;padding:0 24px;position:relative;z-index:1}.ctf-hero{padding:72px 0 46px}.ctf-hero-grid{align-items:center;display:grid;gap:clamp(32px,6vw,88px);grid-template-columns:minmax(0,0.9fr) minmax(320px,0.58fr)}.ctf-kicker{color:var(--ctf-cyan);font-family:var(--ctf-mono);font-size:.72rem;font-weight:700;letter-spacing:.08em;margin:0 0 14px;text-transform:uppercase}.ctf-hero h1,.ctf-section-heading h2,.ctf-finder-header h2{color:var(--ctf-ink);font-family:var(--ctf-display);font-weight:700;letter-spacing:-.025em;line-height:1.08;margin:0}.ctf-hero h1{font-size:clamp(2.75rem,5vw,4.65rem);letter-spacing:-.025em;line-height:1.08;max-width:760px;text-shadow:0 0 34px rgba(102,228,255,0.11)}.ctf-hero-subtitle{color:var(--ctf-muted);font-size:clamp(1rem,1.35vw,1.13rem);line-height:1.65;margin:22px 0 0;max-width:620px}.ctf-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.ctf-btn{align-items:center;border-radius:999px;display:inline-flex;font-family:var(--ctf-sans);font-size:.94rem;font-weight:800;justify-content:center;letter-spacing:0;min-height:48px;overflow:hidden;padding:0 24px;position:relative;text-decoration:none;transition:background 220ms ease,border-color 220ms ease,box-shadow 220ms ease,color 220ms ease,transform 220ms ease}.ctf-btn::before{background:linear-gradient(90deg,transparent,rgba(255,255,255,0.34),transparent);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-120%);transition:transform 520ms ease}.ctf-btn:focus-visible{outline:3px solid rgba(102,228,255,0.58);outline-offset:4px}.ctf-btn:hover::before{transform:translateX(120%)}.ctf-btn:hover{transform:translateY(-3px)}.ctf-card-link:hover,.ctf-inline-link:hover{transform:translateY(-2px)}.ctf-btn-primary{background:linear-gradient(135deg,#45f4ff 0,#7c5cff 58%,#a855f7 100%);border:1px solid rgba(102,228,255,0.52);box-shadow:0 10px 28px rgba(69,244,255,0.24),0 0 44px rgba(124,92,255,0.2);color:#fff;text-shadow:0 1px 12px rgba(3,8,18,0.45)}.ctf-btn-primary:hover{border-color:rgba(255,255,255,0.34);box-shadow:0 15px 38px rgba(69,244,255,0.34),0 0 58px rgba(168,85,247,0.32)}.ctf-btn-ghost{background:rgba(255,255,255,0.075);border:1px solid rgba(134,207,255,0.3);box-shadow:0 10px 24px rgba(0,0,0,0.22),inset 0 1px 0 rgba(255,255,255,0.08);color:var(--ctf-ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ctf-btn-ghost:hover{background:rgba(102,228,255,0.13);border-color:rgba(102,228,255,0.56);box-shadow:0 12px 32px rgba(69,244,255,0.18),inset 0 1px 0 rgba(255,255,255,0.12);color:#fff}.ctf-topic-list span,.ctf-filter-chip,.ctf-card-meta span,.ctf-difficulty{border:1px solid rgba(134,207,255,0.18);border-radius:999px;color:var(--ctf-muted);font-family:var(--ctf-sans);font-size:.72rem;font-weight:700;letter-spacing:0;padding:6px 9px}.ctf-terminal{background:linear-gradient(180deg,rgba(8,18,32,0.96),rgba(7,11,19,0.96)),radial-gradient(circle at 80% 15%,rgba(102,228,255,0.24),transparent 16rem);border:1px solid rgba(102,228,255,0.26);border-radius:var(--ctf-radius);box-shadow:0 24px 64px rgba(0,0,0,0.38),inset 0 0 30px rgba(102,228,255,0.045);font-family:var(--ctf-mono);overflow:hidden;position:relative}.ctf-terminal::after{background:linear-gradient(90deg,transparent,rgba(102,228,255,0.14),transparent);content:"";height:1px;left:0;position:absolute;right:0;top:48px}.ctf-terminal-bar{display:flex;gap:7px;padding:18px}.ctf-terminal-bar span{background:var(--ctf-red);border-radius:999px;height:9px;width:9px}.ctf-terminal-bar span:nth-child(2){background:var(--ctf-gold)}.ctf-terminal-bar span:nth-child(3){background:var(--ctf-green)}.ctf-terminal-body{padding:8px 22px 24px}.ctf-terminal-body p{color:var(--ctf-muted);font-size:.83rem;margin:0 0 18px}.ctf-terminal-body strong{color:var(--ctf-cyan)}.ctf-terminal-body ol{display:grid;gap:10px;list-style:none;margin:0;padding:0}.ctf-terminal-body li{align-items:center;background:rgba(255,255,255,0.035);border:1px solid rgba(134,207,255,0.14);border-radius:14px;color:var(--ctf-ink);display:flex;gap:12px;font-size:.86rem;padding:12px}.ctf-terminal-body li span{color:var(--ctf-gold);font-weight:900}.ctf-paths,.ctf-finder,.ctf-faq{padding:48px 0}.ctf-finder{padding-top:26px}.ctf-section-heading{margin-bottom:22px;max-width:860px}.ctf-section-heading h2,.ctf-finder-header h2{font-size:clamp(1.9rem,3.1vw,3.1rem);letter-spacing:-.025em;line-height:1.12}.ctf-section-heading p:not(.ctf-kicker){color:var(--ctf-muted);font-size:.98rem;line-height:1.68}.ctf-path-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.ctf-path-card,.ctf-finder-panel,.ctf-faq details{background:var(--ctf-panel);border:1px solid var(--ctf-line);box-shadow:0 18px 52px rgba(0,0,0,0.2)}.ctf-path-card{border-radius:18px;display:flex;flex-direction:column;min-height:0;padding:18px;position:relative}.ctf-path-card-featured{background:radial-gradient(circle at 80% 0,rgba(255,209,102,0.16),transparent 14rem),var(--ctf-panel-strong);border-color:rgba(255,209,102,0.32)}.ctf-path-index{color:var(--ctf-gold);font-family:var(--ctf-sans);font-size:.72rem;font-weight:900}.ctf-path-head{align-items:baseline;display:flex;gap:10px;margin-bottom:12px}.ctf-path-card h3,.ctf-card h3,.ctf-empty h3{color:var(--ctf-ink);font-size:1.08rem;letter-spacing:0;line-height:1.28;margin:0}.ctf-path-card ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}.ctf-path-card li{align-items:center;color:var(--ctf-muted);display:flex;font-size:.9rem;gap:9px;line-height:1.35}.ctf-path-card li::before{background:linear-gradient(135deg,var(--ctf-cyan),var(--ctf-purple));border-radius:999px;content:"";flex:0 0 auto;height:7px;width:7px}.ctf-path-card p,.ctf-card-description,.ctf-empty p,.ctf-faq p{color:var(--ctf-muted);font-size:.91rem;line-height:1.65}.ctf-path-card strong{color:var(--ctf-cyan);display:block;font-family:var(--ctf-sans);font-size:.84rem;font-weight:800;line-height:1.5;margin-top:auto;padding-top:16px}.ctf-finder-panel{border-radius:26px;padding:24px}.ctf-finder-header{align-items:end;display:flex;gap:18px;justify-content:space-between;margin-bottom:22px}.ctf-results-count{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.ctf-controls{display:grid;gap:12px;margin-bottom:18px}.ctf-search-label{color:var(--ctf-muted);font-family:var(--ctf-sans);font-size:.72rem;font-weight:800}.ctf-search{background:rgba(2,6,12,0.76);border:1px solid rgba(102,228,255,0.22);border-radius:14px;color:var(--ctf-ink);font:.88rem var(--ctf-sans);min-height:46px;outline:0;padding:0 18px}.ctf-search:focus{border-color:var(--ctf-cyan);box-shadow:0 0 0 4px rgba(102,228,255,0.1)}.ctf-chip-row{display:flex;flex-wrap:wrap;gap:8px}.ctf-filter-chip{background:rgba(255,255,255,0.035);cursor:pointer;font-family:var(--ctf-sans);min-height:40px}.ctf-filter-chip:focus-visible,.ctf-card-link:focus-visible,.ctf-inline-link:focus-visible,.ctf-faq summary:focus-visible{outline:3px solid rgba(102,228,255,0.58);outline-offset:3px}.ctf-filter-chip.is-active{background:rgba(102,228,255,0.12);border-color:rgba(102,228,255,0.48);color:var(--ctf-ink)}.ctf-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.ctf-card{align-items:stretch;background:linear-gradient(180deg,rgba(255,255,255,0.028),rgba(255,255,255,0.012)),rgba(4,9,17,0.72);border:1px solid rgba(134,207,255,0.14);border-radius:18px;display:flex;flex-direction:column;gap:12px;min-height:398px;overflow:hidden;padding:18px;position:relative;transition:background 160ms ease,border-color 160ms ease,transform 160ms ease}.ctf-card-brand{align-items:center;background:radial-gradient(circle at 15% 0,rgba(102,228,255,0.11),transparent 9rem),linear-gradient(135deg,rgba(255,255,255,0.055),rgba(255,255,255,0.018));border:1px solid rgba(134,207,255,0.13);border-radius:14px;display:flex;height:64px;justify-content:center;margin-bottom:2px;overflow:hidden;padding:12px 16px}.ctf-card-brand img{display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,0.22));height:100%;max-height:40px;max-width:86%;object-fit:contain;width:auto}.ctf-card-brand span{color:var(--ctf-ink);font-family:var(--ctf-display);font-size:1.05rem;font-weight:800;letter-spacing:-.02em}.ctf-card:hover{background:rgba(11,22,38,0.84);border-color:rgba(102,228,255,0.28);transform:translateY(-2px)}.ctf-card[hidden]{display:none}.ctf-card-top{align-items:start;display:grid;gap:10px}.ctf-difficulty{font-size:.68rem;line-height:1;padding:6px 9px}.ctf-card-meta{display:flex;flex-wrap:wrap;gap:6px}.ctf-card-meta span:not(.ctf-difficulty){background:rgba(255,255,255,0.025);color:var(--ctf-dim);font-size:.68rem;line-height:1}.ctf-difficulty-beginner{border-color:rgba(109,255,168,0.38);color:var(--ctf-green)}.ctf-difficulty-intermediate,.ctf-difficulty-mixed{border-color:rgba(255,209,102,0.38);color:var(--ctf-gold)}.ctf-difficulty-advanced{border-color:rgba(255,107,138,0.42);color:var(--ctf-red)}.ctf-card-description{color:var(--ctf-muted);font-size:.92rem;line-height:1.58;margin:0}.ctf-card-start{color:var(--ctf-ink);font-size:.8rem;line-height:1.5;margin:0}.ctf-card-start span{color:var(--ctf-cyan);display:inline;font-size:.78rem;font-weight:800}.ctf-topic-list{align-content:start;display:flex;flex-wrap:wrap;gap:6px;margin-top:0}.ctf-card-link,.ctf-inline-link{align-items:center;color:var(--ctf-cyan);display:inline-flex;font-family:var(--ctf-sans);font-size:.84rem;font-weight:900;margin-top:auto;text-decoration:none;transition:transform 160ms ease;white-space:nowrap}.ctf-card-link{border:1px solid rgba(102,228,255,0.18);border-radius:999px;justify-content:center;min-height:44px;padding:0 .9rem}.ctf-link-note{background:rgba(102,228,255,0.1);border-radius:999px;color:var(--ctf-muted);font-size:.64rem;margin-left:.45rem;padding:.18rem .42rem;text-transform:uppercase}.ctf-card-footer{border-top:1px solid rgba(134,207,255,0.12);margin-top:auto;padding-top:12px}.ctf-empty{background:rgba(255,255,255,0.035);border:1px dashed rgba(134,207,255,0.28);border-radius:18px;margin-top:18px;padding:22px;text-align:center}.ctf-faq-grid{display:grid;gap:12px;grid-template-columns:1fr}.ctf-faq details{border-radius:16px;padding:0;transition:background 160ms ease,border-color 160ms ease}.ctf-faq details[open]{background:rgba(11,22,38,0.86);border-color:rgba(102,228,255,0.26)}.ctf-faq summary{align-items:center;color:var(--ctf-ink);cursor:pointer;display:flex;font-size:.92rem;font-weight:800;line-height:1.35;list-style:none;min-height:48px;padding:.85rem 1rem .85rem 2.7rem;position:relative}.ctf-faq summary::-webkit-details-marker{display:none}.ctf-faq summary::before{color:var(--ctf-cyan);content:"+";font-size:1rem;font-weight:900;left:1rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.ctf-faq details[open] summary::before{content:"-"}.ctf-faq details p{margin:0;max-width:760px;padding:0 1rem 1rem 2.7rem}@media(max-width:1180px){.ctf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.ctf-grid{grid-template-columns:1fr}}@media(max-width:900px){.ctf-hero-grid,.ctf-path-grid,.ctf-faq-grid{grid-template-columns:1fr}.ctf-hero-grid{gap:26px}.ctf-grid{gap:12px}.ctf-card{border:1px solid rgba(134,207,255,0.16);border-radius:18px;padding:16px}.ctf-terminal{min-width:0}.ctf-finder-header{align-items:start;flex-direction:column}}@media(max-width:560px){.ctf-shell{padding:0 16px}.ctf-hero{padding:46px 0 32px}.ctf-paths,.ctf-finder,.ctf-faq{padding:42px 0}.ctf-hero h1{font-size:clamp(2.5rem,12vw,3.35rem);letter-spacing:-.025em}.ctf-section-heading h2,.ctf-finder-header h2{font-size:clamp(1.85rem,9vw,2.55rem)}.ctf-finder-panel{border-radius:20px;padding:18px}.ctf-btn{width:100%}.ctf-grid{grid-template-columns:1fr}.ctf-card{min-height:0;grid-template-rows:auto auto auto auto auto}.ctf-card-description{overflow:visible}.ctf-terminal{display:none}}@media(prefers-reduced-motion:reduce){.ctf-btn,.ctf-card-link,.ctf-inline-link{transition:none}}
