:root{color-scheme:dark;--bg: #071523;--bg-strong: #0a1c2f;--surface: #0e2236;--surface-2: #15324b;--text: #f3f8fc;--muted: #a9bdce;--line: rgba(175, 213, 235, .15);--primary: #2dd4bf;--primary-strong: #13998d;--amber: #f2b84b;--green: #42d98b;--danger: #fb7185;--shadow: 0 22px 60px rgba(2, 9, 18, .34);font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=light]{color-scheme:light;--bg: #f8f8f8;--bg-strong: #f8f8f8;--surface: #f8f8f8;--surface-2: #eef3f1;--text: #121716;--muted: #5d6864;--line: rgba(17, 24, 39, .12);--shadow: 0 16px 45px rgba(20, 27, 31, .12)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}main{min-height:72vh}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-strong) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-container{width:min(1180px,calc(100% - 32px));margin:0 auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800}.brand img{width:136px;height:48px;object-fit:contain}[data-theme=light] .brand img{filter:invert(1)}.brand strong{padding:3px 7px;border-radius:999px;background:#d8a44724;color:var(--amber);font-size:.68rem}.site-nav{display:flex;align-items:center;gap:6px}.site-nav a,.nav-action,.nav-group-trigger,.icon-button{min-height:38px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;color:var(--muted);background:transparent;padding:8px 10px;cursor:pointer}.site-nav a:hover,.site-nav a.active,.nav-action:hover,.nav-group-trigger:hover,.icon-button:hover{color:var(--text);background:var(--surface-2)}.nav-group{position:relative}.nav-menu{position:absolute;top:42px;left:0;width:220px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease}.nav-group:hover .nav-menu,.nav-group:focus-within .nav-menu{opacity:1;pointer-events:auto;transform:translateY(0)}.nav-menu a{width:100%;justify-content:flex-start}.mobile-only{display:none}.hero{position:relative;min-height:min(680px,calc(82svh - 76px));overflow:hidden;display:grid;align-items:center}.hero-bg,.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.hero-bg{width:100%;height:100%;object-fit:cover}.hero-overlay{background:linear-gradient(90deg,#071523f0,#071523b8 48%,#0715232e),linear-gradient(0deg,var(--bg) 0%,transparent 28%)}.hero-content{position:relative;z-index:1;width:min(1180px,calc(100% - 32px));margin:0 auto;max-width:1180px;padding:54px 0 66px}.hero-copy{max-width:720px}.hero h1,.section-heading h1,.section-heading h2,.detail-header h1{margin:0;letter-spacing:0}.hero h1{font-size:clamp(3.2rem,8vw,7.2rem);line-height:.95;color:#fff}.hero p,.section-heading p,.lead-text{color:var(--muted);font-size:1.08rem;line-height:1.75}.hero-copy p{color:#ffffffd1}.hero .hero-slogan{margin:18px 0 12px;padding-left:14px;border-left:3px solid var(--primary);color:#fff;font-size:clamp(1.15rem,2.4vw,1.55rem);font-weight:800;line-height:1.35}.hero-actions,.course-footer,.form-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.landing-stats-band{margin-top:24px;border-top:1px solid var(--line);background:var(--bg)}.landing-stats-grid{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.landing-stat{min-height:104px;display:grid;place-items:center;align-content:center;gap:7px;padding:22px 16px;text-align:center}.landing-stat+.landing-stat{border-left:1px solid var(--line)}.landing-stat strong{color:var(--text);font-size:clamp(2rem,4vw,3.1rem);line-height:1;font-weight:900;font-variant-numeric:tabular-nums}.landing-stat span{color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.partners-strip{margin-top:0;border-block:1px solid var(--line);border-top:0;background:var(--bg);overflow:hidden}.partners-strip-inner{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:26px;padding:18px 0}.partners-strip p{margin:0;color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.partners-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.partners-track{width:max-content;display:flex;align-items:center;gap:14px;animation:partners-marquee 24s linear infinite}@keyframes partners-marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 9px))}}@media(prefers-reduced-motion:reduce){.partners-track{animation:none}}.partner-logo{width:90px;height:76px;display:grid;place-items:center;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--line) 78%,transparent);border-radius:8px;background:#ffffffeb;padding:8px}.partner-logo img{width:88%;height:88%;object-fit:contain;filter:saturate(.9)}.testimonial-carousel{width:min(820px,calc(100% - 32px));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:16px}.testimonial-counter{color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.04em}.testimonial-stage{width:100%;display:flex;align-items:center;gap:14px}.testimonial-nav{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--primary);cursor:pointer;box-shadow:var(--shadow);transition:background .15s ease,color .15s ease,transform .15s ease}.testimonial-nav:hover{background:var(--primary);color:#fff;transform:scale(1.06)}.testimonial-deck{flex:1 1 auto}.testimonial-card{display:flex;flex-direction:column;gap:12px;padding:28px 30px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow);transform-origin:top center;animation:testimonial-open .32s ease}@keyframes testimonial-open{0%{opacity:0;transform:scaleY(.55) translateY(-8px)}60%{opacity:1}to{opacity:1;transform:scaleY(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.testimonial-card{animation:none}}.testimonial-dots{display:flex;gap:8px}.testimonial-dot{width:9px;height:9px;padding:0;border:none;border-radius:50%;background:var(--line);cursor:pointer;transition:background .15s ease,transform .15s ease}.testimonial-dot.is-active{background:var(--primary);transform:scale(1.25)}.team-core-grid{width:min(760px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.team-core-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:26px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.team-core-photo{width:140px;height:140px;border-radius:50%;overflow:hidden;border:3px solid var(--primary)}.team-core-photo img{width:100%;height:100%;object-fit:cover}.team-core-card h2{margin:8px 0 0;font-size:1.15rem}.team-core-card p{margin:0;color:var(--muted);font-weight:600;font-size:.9rem}.team-core-linkedin{display:grid;place-items:center;width:36px;height:36px;margin-top:4px;border-radius:50%;border:1px solid var(--line);color:var(--primary);transition:background .15s ease,color .15s ease}.team-core-linkedin:hover{background:var(--primary);color:#fff}.team-thanks-card{width:min(760px,calc(100% - 32px));margin:28px auto 0}.team-thanks-heading{display:flex;align-items:center;gap:10px;color:var(--primary)}.team-thanks-heading h2{margin:0}.team-contributors{margin-top:18px}.team-contributors-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:700;font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}.team-contributors-list{list-style:disc;margin:0;padding-left:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 24px}.team-contributors-list li{color:var(--text);font-weight:600}.team-contributor-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);text-decoration:none}.team-contributor-link:hover{text-decoration:underline}@media(max-width:560px){.team-core-grid{grid-template-columns:1fr}}.testimonial-quote-icon{color:var(--primary);opacity:.7}.testimonial-text{margin:0;flex:1;color:var(--text);font-size:.92rem;line-height:1.55}.testimonial-author{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;color:var(--primary);font-weight:700;text-decoration:none}.testimonial-author:hover .testimonial-name{text-decoration:underline}.testimonial-role{flex-basis:100%;margin-left:26px;color:var(--muted);font-size:.78rem;font-weight:600}.firstblood-splash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:grid;place-items:center;cursor:pointer;background:radial-gradient(circle at center,#7800008c,#0f0000f0);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:firstblood-fade .3s ease-out}.firstblood-splash-inner{text-align:center;padding:24px;animation:firstblood-pop .55s cubic-bezier(.2,1.4,.4,1)}.firstblood-splash-icon{color:#e10600;filter:drop-shadow(0 0 18px rgba(225,6,0,.85));animation:firstblood-drip 1.4s ease-in-out infinite}.firstblood-splash h2{margin:10px 0 8px;font-size:clamp(2.5rem,9vw,6rem);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#ff1a1a;text-shadow:0 0 26px rgba(225,6,0,.9),0 4px 12px rgba(0,0,0,.6)}.firstblood-splash p{margin:0;color:#ffd4d4;font-size:clamp(.9rem,2.4vw,1.2rem);font-weight:600}@keyframes firstblood-fade{0%{opacity:0}to{opacity:1}}@keyframes firstblood-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes firstblood-drip{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.firstblood-splash,.firstblood-splash-inner,.firstblood-splash-icon{animation:none}}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}.btn.primary{border-color:var(--primary);background:var(--primary);color:#04131c}.btn.ghost{background:#ffffff0f;color:var(--text)}.btn.success{border-color:var(--green);background:#42d98b24;color:var(--green);cursor:default}[data-theme=light] .hero .btn.ghost{color:var(--primary);border-color:var(--primary)}.hero-panel,.content-card,.info-card,.latest-card,.challenge-card,.side-panel,.stat-card,.auth-card{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.hero-panel{padding:24px}.hero-panel span,.eyebrow{display:inline-flex;color:var(--primary);font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.hero-panel strong{display:block;margin-top:10px;font-size:1.5rem}.section{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:72px 0}.page-section{padding-top:52px}.section-heading{max-width:760px;margin:0 auto 32px;text-align:center}.section-heading.left{margin-left:0;text-align:left}.roadmap-heading{max-width:none}.roadmap-page-shell{position:relative}.roadmap-page-shell>:not(.roadmap-watermark):not(.roadmap-disclaimer-backdrop){position:relative;z-index:1}.roadmap-watermark{position:fixed;top:50%;left:50%;z-index:0;width:min(720px,72vw);max-width:none;pointer-events:none;opacity:.035;transform:translate(-50%,-50%) rotate(-8deg);filter:grayscale(1)}[data-theme=light] .roadmap-watermark{opacity:.055;filter:invert(1) grayscale(1)}.section-heading h1,.section-heading h2{margin-top:8px;font-size:clamp(2rem,4vw,3.3rem);line-height:1.08}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{padding:22px;display:grid;gap:8px}.stat-grid strong,.stat-card strong{font-size:clamp(1.7rem,4vw,2.7rem);color:var(--text)}.stat-card strong.stat-value-sm{font-size:clamp(1.1rem,2.2vw,1.5rem);align-self:end;max-width:100%;overflow-wrap:anywhere}.dashboard-player-meta .player-meta-level{max-width:100%;overflow-wrap:anywhere}.stat-grid span,.stat-card span{color:var(--muted)}.blood-stat-card>svg{color:var(--danger)}.card-grid,.course-grid,.subtopic-grid{display:grid;gap:18px}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.roadmap-hub{display:grid;gap:28px;margin-top:10px}.roadmap-start{display:grid;justify-items:center;gap:10px}.roadmap-kicker{display:inline-flex;width:fit-content;border-radius:999px;padding:5px 11px;background:#14b8a621;color:var(--primary);font-size:.78rem;font-weight:900;text-transform:uppercase}.roadmap-track-heading{display:grid;gap:6px;margin-top:8px}.roadmap-track-heading h2,.roadmap-track-heading p{margin:0}.roadmap-track-heading p{max-width:720px;color:var(--muted);line-height:1.65}.roadmap-card{position:relative;min-height:242px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;padding:20px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,rgba(20,184,166,.1),transparent 52%),var(--surface);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,background .18s ease}.roadmap-card:hover{transform:translateY(-4px);border-color:#14b8a66b}.roadmap-card.core{width:min(460px,100%);min-height:250px;margin:0 auto;z-index:1;border-color:#14b8a673;background:radial-gradient(circle at 50% 0%,rgba(20,184,166,.2),transparent 54%),var(--surface)}.roadmap-branch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.roadmap-card-top{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.roadmap-card-top>svg{color:var(--amber)}.roadmap-card h2{margin:0;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.2}.roadmap-card p{margin:0;color:var(--muted);line-height:1.6}.roadmap-card a{display:inline-flex;align-items:center;gap:6px;width:fit-content;color:var(--primary);font-weight:800}.roadmap-status{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900}.roadmap-status.ready{background:#35c27726;color:var(--green)}.roadmap-status.soon{background:#d8a44724;color:var(--amber)}.roadmap-card.coming-soon{background:linear-gradient(135deg,rgba(216,164,71,.1),transparent 52%),var(--surface)}.roadmap-disclaimer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#02080e9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.roadmap-disclaimer{position:relative;width:min(540px,100%);display:grid;justify-items:center;gap:14px;padding:30px;border:1px solid rgba(20,184,166,.34);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(20,184,166,.16),transparent 58%),var(--surface);box-shadow:var(--shadow);text-align:center}.roadmap-disclaimer>svg{color:var(--primary)}.roadmap-disclaimer h2,.roadmap-disclaimer p{margin:0}.roadmap-disclaimer p{color:var(--muted);line-height:1.7}.roadmap-disclaimer-close{position:absolute;top:12px;right:12px}.info-card,.latest-card,.challenge-card,.content-card,.side-panel{padding:22px}.challenges-layout{display:grid;grid-template-columns:minmax(240px,.35fr) minmax(0,1fr);gap:22px;align-items:start}.challenge-header-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:24px;align-items:center;margin-bottom:26px}.challenge-header-row .section-heading{margin-bottom:0}.challenge-progress-card{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.challenge-progress-card h2,.challenge-progress-card p{margin:0}.challenge-progress-card h2{font-size:1.08rem}.challenge-progress-card p{color:var(--muted);font-size:.9rem;font-weight:700}.challenge-progress-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.challenge-progress-stats div{display:grid;gap:4px;text-align:center}.challenge-progress-stats strong{color:var(--primary);font-size:1.45rem}.challenge-progress-stats span{color:var(--muted);font-size:.82rem;font-weight:700}.challenge-progress-track{height:11px}.challenge-filter-sidebar{display:grid;gap:18px;position:sticky;top:96px}.filter-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-title-row span,.clear-filter-btn,.filter-group h2,.filter-option,.challenge-result-count{display:flex;align-items:center;gap:8px}.filter-title-row span{color:var(--text);font-weight:900}.clear-filter-btn{border:0;color:var(--primary);background:transparent;font-weight:800;cursor:pointer}.challenge-search{min-height:44px;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong);color:var(--muted)}.challenge-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--text)}.filter-group{display:grid;gap:10px}.filter-group h2{margin:0;color:var(--text);font-size:.95rem}.filter-group>div{display:grid;gap:8px}.filter-option{color:var(--muted);font-weight:700;cursor:pointer}.filter-option input{width:16px;height:16px;accent-color:var(--primary)}.filter-option svg{color:var(--primary)}.challenges-main{min-width:0;display:grid;gap:14px}.challenge-result-count{justify-content:flex-end;color:var(--muted);font-weight:700}.challenges-pagination,.leaderboard-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.leaderboard-period-toggle{display:inline-flex;padding:4px;gap:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.leaderboard-period-toggle button{padding:8px 18px;border:none;border-radius:9px;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.leaderboard-period-toggle button.is-active{background:var(--primary);color:#fff}.leaderboard-quarter-picker{display:inline-flex;align-items:center;gap:12px}.leaderboard-quarter-picker .pagination-btn{padding:8px 12px}.leaderboard-quarter-label{min-width:84px;text-align:center;font-weight:800;color:var(--text)}.leaderboard-period-note{margin:-8px 0 20px;color:var(--muted);font-size:.92rem}.leaderboard-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:8px}.leaderboard-pagination{margin-top:24px}.pagination-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.pagination-btn:hover:not(:disabled){background:var(--primary);color:#fff;border-color:var(--primary)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-status{color:var(--muted);font-weight:700;font-size:.9rem}.challenge-result-count strong{color:var(--text)}.challenge-card{min-height:304px;display:grid;grid-template-rows:58px auto minmax(72px,1fr) auto auto;gap:14px;position:relative;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease,opacity .16s ease}.challenge-card:hover{transform:translateY(-3px);border-color:#14b8a657}.challenge-card.solved{border-color:#35c27775;background:linear-gradient(135deg,rgba(53,194,119,.18),transparent 58%),color-mix(in srgb,var(--surface) 92%,transparent)}.challenge-card.solved:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--green)}.challenge-card.solved h2{color:var(--text)}.challenge-card.scheduled-challenge{border-color:#60a5fa47;background:linear-gradient(135deg,rgba(96,165,250,.12),transparent 58%),color-mix(in srgb,var(--surface) 92%,transparent);opacity:.82}.challenge-card.scheduled-challenge:hover,.challenge-card.inactive-challenge:hover{transform:none}.challenge-card.inactive-challenge{border-color:#f871713d;filter:grayscale(.65);opacity:.72}.challenge-state-badge,.challenge-lock-note{display:inline-flex;align-items:center;gap:6px;width:fit-content;white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:900}.challenge-state-badge.complete{background:#35c27729;color:var(--green)}.challenge-state-badge.scheduled,.challenge-lock-note.scheduled{background:#60a5fa24;color:#60a5fa}.challenge-state-badge.inactive,.challenge-lock-note.inactive{background:#f8717124;color:var(--danger)}.challenge-state-icon{color:var(--muted)}.challenge-lock-note{align-self:end}.challenge-top{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}.challenge-category-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;color:var(--primary);background:#14b8a61a;box-shadow:inset 0 0 0 1px #ffffff0a}.challenge-category-icon svg{stroke-width:2.35}.challenge-category-icon.cryptography{color:var(--amber);background:#d8a4471f}.challenge-category-icon.forensics,.challenge-category-icon.osint{color:#60a5fa;background:#60a5fa1f}.challenge-category-icon.reverse,.challenge-category-icon.pwn{color:var(--danger);background:#f871711f}.challenge-category-icon.mobile{color:var(--green);background:#35c2771f}.challenge-category-icon.miscellaneous,.challenge-category-icon.other{color:var(--muted);background:#ffffff0f}.info-card>svg,.latest-card>svg,.content-card>svg,.side-panel>svg,.stat-card>svg{color:var(--amber)}.info-card h2,.info-card h3,.latest-card h3,.challenge-card h2,.content-card h2,.side-panel h2{margin:14px 0 8px}.challenge-card h2{margin:0;font-size:1.32rem;line-height:1.25}.info-card p,.latest-card p,.challenge-card p,.content-card p,.side-panel p,.muted{color:var(--muted);line-height:1.65}.challenge-card p{min-height:calc(1.65em * 3);margin:0;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.challenge-card .meta-row{min-height:34px;align-items:center}.challenge-meta-line{row-gap:10px}.challenge-card>a,.challenge-card>.challenge-open-cta,.challenge-card>.muted{align-self:end;width:fit-content}a.challenge-card{cursor:pointer}.challenge-open-cta{transition:gap .16s ease}a.challenge-card:hover .challenge-open-cta{gap:10px}.info-card a,.latest-card a,.challenge-card a,.challenge-open-cta,.content-card a,.blog-card a,.card-link,.back-link,.mini-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-weight:700}.blog-heading{max-width:840px}.blog-category-filter{display:grid;gap:14px;margin-bottom:24px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.blog-category-filter h2{margin:0;font-size:1rem}.blog-category-buttons{display:flex;flex-wrap:wrap;gap:10px}.blog-category-buttons button{min-height:36px;border:1px solid var(--line);border-radius:999px;padding:7px 13px;background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--muted);cursor:pointer}.blog-category-buttons button:hover,.blog-category-buttons button.active{border-color:var(--primary);background:#2dd4bf24;color:var(--primary)}.blog-card{min-height:100%;display:grid;grid-template-rows:220px 1fr;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.blog-image{overflow:hidden;background:var(--surface-2)}.blog-image img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.blog-card:hover .blog-image img{transform:scale(1.04)}.blog-card-body{display:grid;align-content:start;gap:14px;padding:20px}.blog-card h2{margin:0;font-size:1.22rem;line-height:1.35}.blog-card p{margin:0;color:var(--muted);line-height:1.65;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.blog-meta-row,.blog-tags{display:flex;flex-wrap:wrap;gap:10px}.blog-meta-row span,.blog-tag{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.82rem}.blog-tag{width:fit-content;border-radius:999px;padding:4px 8px;background:#d8a44724;color:var(--amber);font-weight:700}.tag,.difficulty,.category-badge,.points-badge,.access-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;border-radius:999px;padding:5px 10px;background:#14b8a61f;color:var(--primary);font-size:.78rem;font-weight:800}.points-badge{background:#d8a44729;color:var(--amber)}.points-badge svg{color:currentColor}.category-badge.web{background:#14b8a61f;color:var(--primary)}.category-badge.cryptography{background:#d8a44729;color:var(--amber)}.category-badge.forensics,.category-badge.osint{background:#60a5fa24;color:#60a5fa}.category-badge.reverse,.category-badge.pwn{background:#f8717129;color:var(--danger)}.category-badge.mobile{background:#35c27724;color:var(--green)}.category-badge.miscellaneous,.category-badge.other{background:#ffffff14;color:var(--muted)}.difficulty.easy{background:#35c27724;color:var(--green)}.difficulty.medium{background:#d8a44729;color:var(--amber)}.difficulty.hard{background:#f8717129;color:var(--danger)}.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.9rem}.meta-row span{display:inline-flex;align-items:center;gap:5px}.latest-card{display:flex;flex-direction:column;gap:10px;padding:16px 18px;color:var(--text);text-decoration:none;cursor:pointer;transition:transform .16s ease,border-color .16s ease}.latest-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--primary) 45%,var(--line))}.latest-card h3{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;line-height:1.3;font-size:1.15rem}.latest-card .card-link{margin-top:auto;transition:gap .16s ease}.latest-card:hover .card-link{gap:10px}.detail-meta{margin:16px 0 0;gap:10px;align-items:flex-start}.detail-meta span{max-width:100%;min-height:32px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#ffffff0a;color:var(--muted);font-weight:700;overflow-wrap:anywhere}.detail-meta .demo-pill{border-color:#d8a44747;background:#d8a4471a;color:var(--amber)}.challenge-detail-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.challenge-detail-main,.challenge-detail-sidebar,.challenge-feedback-section{display:grid;gap:18px}.challenge-detail-sidebar{align-content:start;position:sticky;top:96px}.challenge-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.questions-panel,.questions-list,.question-item{display:grid;gap:14px}.question-progress-summary{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.question-progress-summary strong{color:var(--text)}.question-item{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.question-item.solved{border-color:#35c27747;background:#35c27714}.question-header,.question-submit-row,.question-status{display:flex;align-items:center;gap:8px}.question-header{justify-content:space-between}.question-header h3,.question-item p,.question-feedback{margin:0}.question-header h3{font-size:1rem}.question-item p{color:var(--muted);line-height:1.55}.question-status{flex:0 0 auto;border-radius:999px;padding:4px 9px;font-size:.72rem;font-weight:900}.question-status.solved{color:var(--green);background:#35c27724}.question-status.unsolved{color:var(--muted);background:#ffffff14}.question-submit-row{align-items:stretch}.question-submit-row input{min-width:0;flex:1 1 auto;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:10px 12px}.question-submit-row .btn{flex:0 0 auto;min-width:116px}.question-feedback{padding:10px 12px;border-radius:8px;font-size:.9rem;line-height:1.45}.question-feedback.success{color:var(--green);background:#35c2771f}.question-feedback.error{color:var(--danger);background:#f871711f}.question-feedback.warning{color:var(--amber);background:#d8a4471f}.challenge-detail-meta .category-badge,.challenge-detail-meta .difficulty,.challenge-detail-meta .points-badge,.challenge-detail-meta .challenge-detail-badge{min-height:32px;border:0;font-weight:800}.challenge-detail-meta .category-badge.web{background:#14b8a61f;color:var(--primary)}.challenge-detail-meta .category-badge.cryptography{background:#d8a44729;color:var(--amber)}.challenge-detail-meta .category-badge.forensics,.challenge-detail-meta .category-badge.osint{background:#60a5fa24;color:#60a5fa}.challenge-detail-meta .category-badge.reverse,.challenge-detail-meta .category-badge.pwn{background:#f8717129;color:var(--danger)}.challenge-detail-meta .category-badge.mobile{background:#35c27724;color:var(--green)}.challenge-detail-meta .category-badge.miscellaneous,.challenge-detail-meta .category-badge.other{background:#ffffff14;color:var(--muted)}.challenge-detail-meta .difficulty.easy{background:#35c27724;color:var(--green)}.challenge-detail-meta .difficulty.medium{background:#d8a44729;color:var(--amber)}.challenge-detail-meta .difficulty.hard{background:#f8717129;color:var(--danger)}.challenge-detail-meta .points-badge{background:#d8a44729;color:var(--amber)}.challenge-detail-badge{background:#ffffff0f;color:var(--muted)}.challenge-detail-badge.author{background:#14b8a61f;color:var(--primary)}.challenge-detail-badge.solves{background:#60a5fa24;color:#60a5fa}.challenge-detail-badge.status{background:#35c27724;color:var(--green)}.challenge-detail-badge.unsolved{background:#ffffff14;color:var(--muted)}.challenge-detail-badge.firstblood{background:#f8717121;color:var(--danger)}.challenge-detail-badge.firstblood.empty{background:#d8a4471f;color:var(--amber)}.challenge-detail-badge.inactive{background:#f8717121;color:var(--danger)}.split-section,.content-layout,.detail-hero,.image-band{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}.feature-list{display:grid;gap:14px}.feature-row{display:grid;grid-template-columns:36px 1fr;gap:14px}.feature-row svg{color:var(--primary)}.feature-row h3,.feature-row p{margin:0 0 6px}.feature-row p{color:var(--muted);line-height:1.65}.image-band{align-items:center;border-top:1px solid var(--line)}.image-band img,.detail-hero img,.course-card img{width:100%;border-radius:8px;object-fit:cover}.image-band img,.detail-hero img{aspect-ratio:16 / 10}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.course-filter-bar label{min-height:44px;display:inline-grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong);color:var(--muted)}.course-search-field{flex:1 1 300px}.course-filter-bar label:not(.course-search-field){flex:0 1 178px}.course-filter-bar input,.course-filter-bar select{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text)}.course-filter-bar input::placeholder{color:var(--muted)}.course-filter-bar select option{background:var(--bg-strong);color:var(--text)}.course-clear-filter{min-height:44px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid rgba(248,113,113,.32);border-radius:8px;background:#f871711a;color:var(--danger);font-weight:800;cursor:pointer}.course-result-count{margin-left:auto;color:var(--muted);font-size:.9rem;font-weight:800}.course-card{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(0,1.2fr);gap:18px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.course-card.clickable{cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.course-card.clickable:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.course-card.clickable:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.course-card img{height:100%;min-height:220px}.course-card h2{margin:10px 0}.course-description{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.course-footer{justify-content:space-between;margin-top:18px}.course-footer span{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.detail-hero{align-items:center;padding-bottom:42px}.detail-hero>div{min-width:0}.course-hero-actions{margin-top:22px}.course-instructor-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;font-size:.92rem}.course-instructor-name{color:var(--text);font-weight:700}.course-instructor-link{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#14b8a61f;color:var(--primary);flex-shrink:0}.course-instructor-link:hover{text-decoration:underline}.detail-hero h1,.detail-header h1,.readable-page h1{margin:10px 0;font-size:clamp(2.1rem,5vw,4rem);line-height:1.08}.detail-header{margin-bottom:30px}.course-detail-layout{grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(200px,240px)}.course-detail-layout>*{min-width:0}.course-overview-wrap,.lesson-focus-shell{display:grid;gap:20px}.course-overview-wrap{max-width:980px;margin:0 auto}.lesson-list,.progress-list,.activity-list,.faq-list{display:grid;gap:12px}.about-section-list{display:grid;gap:14px;margin-top:22px}.about-content-card{display:grid;gap:10px}.about-content-card h2,.about-content-card p{margin:0}.about-content-card p,.about-rules-list,.about-contact-list{color:var(--muted);line-height:1.7}.about-rules-list{margin:0;padding-left:20px}.about-rules-list strong,.about-contact-list strong{color:var(--text)}.about-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.course-browser{display:block}.course-sidebar{max-height:min(780px,calc(100svh - 104px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0;padding:0;overflow:hidden;position:sticky;top:96px}.course-sidebar-header,.course-sidebar-footer{padding:18px}.course-sidebar-header{display:grid;gap:12px;border-bottom:1px solid var(--line)}.course-sidebar-header h2{margin:6px 0 0}.sidebar-lesson-list{overflow:auto;padding:14px}.lesson-item,.activity-item,.progress-row{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.lesson-item svg,.activity-item svg{color:var(--primary)}.lesson-button{width:100%;color:var(--text);text-align:left;cursor:pointer;grid-template-columns:28px minmax(0,1fr) 20px;padding:14px}.lesson-button:hover,.lesson-button.active{border-color:#14b8a66b;background:#14b8a61a}.lesson-button:disabled{opacity:.58;cursor:not-allowed}.lesson-button.completed{border-color:#35c27742}.lesson-button>span{min-width:0;display:grid;gap:6px}.lesson-button strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:800;font-size:.92rem;line-height:1.35}.lesson-check{color:var(--green)}.lesson-reader{max-height:min(780px,calc(100svh - 104px));min-height:520px;overflow:auto}.lesson-reader h2{margin:10px 0 12px}.lesson-content{white-space:pre-line;color:var(--muted);line-height:1.75}.lesson-markdown-content{white-space:normal;color:var(--text);min-width:0;max-width:100%;overflow-wrap:break-word;word-break:break-word}.lesson-markdown-content pre,.lesson-markdown-content img,.lesson-markdown-content table{max-width:100%}.lesson-markdown-content pre{overflow-x:auto}.lesson-markdown-content table{display:block;overflow-x:auto}.lesson-markdown-content h1:first-child,.lesson-markdown-content h2:first-child,.lesson-markdown-content h3:first-child{margin-top:0}.course-main-panel{min-width:0}.course-overview-panel,.course-details-panel{display:grid;gap:20px}.course-detail-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.course-detail-list li{display:flex;align-items:flex-start;gap:10px;color:var(--muted);line-height:1.6}.course-detail-list li svg{color:var(--primary);flex-shrink:0;margin-top:3px}.course-overview-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.course-overview-top h2{margin:6px 0 0}.course-overview-panel h2,.course-overview-panel p,.course-overview-section h3{margin:0}.course-overview-panel>p{color:var(--muted);line-height:1.7}.course-overview-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.course-overview-meta div{min-height:86px;display:grid;align-content:center;gap:6px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.course-overview-meta strong{color:var(--text);font-size:.96rem}.course-overview-meta span,.course-overview-heading span{color:var(--muted);font-size:.84rem;font-weight:700}.overview-progress{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.course-overview-actions{display:flex;flex-wrap:wrap;gap:10px}.course-overview-section{display:grid;gap:14px}.course-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.course-overview-lessons{display:grid;gap:10px}.course-overview-lessons.compact{gap:8px}.overview-lesson-card{width:100%;display:grid;grid-template-columns:38px minmax(0,1fr) max-content;gap:12px;align-items:center;padding:14px;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .16s ease}.overview-lesson-card.compact{min-height:62px}.overview-lesson-card:hover{background:#14b8a61a}.overview-lesson-card:disabled{opacity:.58;cursor:not-allowed}.overview-lesson-index{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:8px;background:#2dd4bf1f;color:var(--primary);font-weight:900}.overview-lesson-card strong,.overview-lesson-card small{display:block}.overview-lesson-card strong{margin-bottom:5px}.overview-lesson-title{display:flex;align-items:center;gap:8px}.overview-lesson-title strong{margin-bottom:0}.overview-lesson-title svg{flex-shrink:0;color:var(--primary)}.overview-lesson-title[data-type=quiz] svg{color:var(--amber)}.overview-lesson-title[data-type=lab] svg{color:var(--danger)}.overview-lesson-title[data-type=module] svg{color:var(--green)}.overview-lesson-card small{color:var(--muted);line-height:1.45}.overview-lesson-state{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.84rem;font-weight:800;white-space:nowrap}.overview-lesson-state svg{color:var(--primary)}.overview-lesson-row{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong);overflow:hidden;transition:border-color .16s ease}.overview-lesson-row.completed{border-color:#35c27747}.overview-lesson-row .overview-lesson-card{flex:1;min-width:0}.overview-lesson-progress{display:inline-flex;align-items:center;flex-shrink:0;margin:auto 0;padding:0 10px;border-radius:999px;background:#42d98b1f;color:var(--green);font-size:.8rem;font-weight:800;white-space:nowrap}.overview-lesson-expand-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;flex-shrink:0;margin-left:4px;border:0;border-left:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:background .16s ease,color .16s ease}.overview-lesson-expand-toggle:hover{background:#42d98b1a;color:var(--text)}.overview-lesson-expand-toggle:disabled{opacity:.58;cursor:not-allowed}.overview-lesson-expand-toggle svg{transition:transform .16s ease}.overview-lesson-expand-toggle.is-expanded svg{transform:rotate(180deg)}.overview-lesson-pages{display:grid;gap:6px;margin:6px 0 0 34px;padding-left:14px;border-left:2px solid var(--line)}.overview-lesson-page-link{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);text-align:left;font-size:.86rem;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.overview-lesson-page-link:hover{border-color:#42d98b52;background:#42d98b14;color:var(--text)}.overview-lesson-page-link:disabled{opacity:.58;cursor:not-allowed}.overview-lesson-page-link.viewed{color:var(--text)}.overview-lesson-page-index{display:inline-grid;place-items:center;width:22px;height:22px;flex-shrink:0;border-radius:6px;background:#42d98b24;color:var(--green);font-size:.76rem;font-weight:900}.lesson-focus-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}.lesson-focus-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,240px);gap:24px;align-items:start}.lesson-focus-page{min-width:0;display:grid;gap:20px}.lesson-focus-header h1{margin:8px 0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.12}.lesson-focus-header p{margin:0;color:var(--muted)}.lesson-lang-toggle{display:inline-flex;margin-top:14px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.lesson-lang-toggle button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:0;background:transparent;color:var(--muted);font-weight:700;cursor:pointer;transition:background .15s ease,color .15s ease}.lesson-lang-toggle button.is-active{background:var(--primary);color:#fff}.lesson-markdown-content[dir=rtl]{text-align:right}.lesson-outline-panel{position:sticky;top:96px;max-height:min(780px,calc(100svh - 104px));overflow-y:auto;display:grid;align-content:start;gap:14px;padding:18px}.lesson-outline-panel h2{margin:0;display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.95rem}.lesson-outline-panel h2 svg{color:var(--primary)}.lesson-outline-panel nav{display:grid;gap:4px}.module-page-nav{display:grid;gap:4px;padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--line)}.module-page-link{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-left:2px solid transparent;border-radius:0 8px 8px 0;background:transparent;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.35;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.module-page-link:hover{border-left-color:var(--green);background:#42d98b1a;color:var(--text)}.module-page-link.is-active{border-left-color:var(--green);background:#42d98b24;color:var(--text)}.module-page-link.is-done{color:var(--green)}.module-page-link.is-done svg{flex-shrink:0}.module-page-link.is-done.is-active{color:var(--text)}.lesson-module-page-heading{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--green);font-weight:800;font-size:.92rem}.module-page-complete-row{margin-top:20px}.lesson-outline-panel a{display:block;padding:7px 9px;border-left:2px solid transparent;border-radius:0 8px 8px 0;color:var(--muted);font-size:.88rem;line-height:1.35}.lesson-outline-panel a:hover,.lesson-outline-panel a:focus-visible{border-left-color:var(--primary);background:#2dd4bf1a;color:var(--text)}.lesson-outline-panel .toc-level-3{margin-left:12px;font-size:.84rem}.lesson-outline-panel .toc-level-4,.lesson-outline-panel .toc-level-5,.lesson-outline-panel .toc-level-6{margin-left:24px;font-size:.8rem}.course-sidebar-footer{display:grid;gap:14px;border-top:1px solid var(--line)}.course-progress-summary{display:grid;gap:10px}.course-progress-summary>div:first-child{display:flex;justify-content:space-between;gap:12px}.course-progress-summary strong{color:var(--text)}.course-progress-summary span,.course-access-note,.sidebar-hint,.form-count{color:var(--muted)}.course-access-note,.sidebar-hint{margin:0;line-height:1.55}.sidebar-action-stack{display:grid;gap:10px}.sidebar-action-stack .btn{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.success:disabled{opacity:1}.lesson-reader-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:24px}.lesson-reader-actions .btn{min-width:132px}.lesson-resources{display:grid;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.lesson-resources h3{margin:0}.lesson-resources a{color:var(--primary);font-weight:700}.lesson-quiz-intro{margin:0 0 20px;color:var(--muted);font-size:1rem;line-height:1.6}.lesson-quiz{display:grid;gap:24px}.quiz-question{display:grid;gap:12px}.quiz-question-text{margin:0;font-size:1.05rem;font-weight:600;color:var(--text)}.quiz-question-number{color:var(--primary);font-weight:700;margin-right:4px}.quiz-choices{display:grid;gap:10px}.quiz-choice{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.quiz-choice:hover:not(:disabled){border-color:var(--primary)}.quiz-choice:disabled{cursor:default}.quiz-choice.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 12%,var(--surface))}.quiz-choice.correct{border-color:var(--green);background:color-mix(in srgb,var(--green) 18%,var(--surface))}.quiz-choice.incorrect{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,var(--surface))}.quiz-choice-marker{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);font-weight:700;font-size:.85rem}.quiz-choice.correct .quiz-choice-marker{color:var(--green);border-color:var(--green)}.quiz-choice.incorrect .quiz-choice-marker{color:var(--danger);border-color:var(--danger)}.quiz-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.quiz-result{display:grid;gap:8px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.quiz-result strong{font-size:1.2rem;color:var(--text)}.quiz-result p{margin:0}.quiz-result .btn{justify-self:start}.lesson-lab{display:grid;gap:20px}.lab-challenge{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.lab-challenge.solved{border-color:var(--green);background:color-mix(in srgb,var(--green) 10%,var(--surface))}.lab-challenge-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.lab-challenge-header h3{margin:0;font-size:1.15rem}.lab-solved-badge{display:inline-flex;align-items:center;gap:6px;color:var(--green);font-weight:700;font-size:.9rem}.lab-challenge-desc{margin:0;color:var(--muted);line-height:1.6;white-space:pre-wrap}.lab-challenge-actions{display:flex;flex-wrap:wrap;gap:10px}.lab-flag-form{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}.lab-flag-input{display:flex;align-items:center;gap:8px;flex:1 1 220px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--muted)}.lab-flag-input input{flex:1;border:none;background:transparent;color:var(--text);font:inherit;padding:11px 0;outline:none}.lab-flag-input input:disabled{color:var(--muted)}.lab-flag-error{margin:0}.feedback-panel{display:grid;align-content:start;gap:16px}.feedback-form,.certificate-dialog form{display:grid;gap:14px}.feedback-form label,.certificate-dialog label{display:grid;gap:8px;color:var(--text);font-weight:800}.feedback-form select,.feedback-form textarea,.certificate-dialog input{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong);color:var(--text);padding:12px}.feedback-form textarea{resize:vertical}.feedback-summary{display:grid;gap:10px;padding:16px;border:1px solid rgba(53,194,119,.24);border-radius:8px;background:#35c2771a}.feedback-summary p{margin:0;color:var(--muted)}.feedback-section-title{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}.feedback-section-title.compact{grid-template-columns:26px minmax(0,1fr)}.feedback-section-title>svg{color:var(--primary);margin-top:4px}.feedback-section-title h2,.feedback-section-title p{margin:0}.feedback-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feedback-stats-grid div{min-height:84px;display:grid;align-content:center;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.feedback-stats-grid svg{color:var(--primary)}.feedback-stats-grid strong{color:var(--text);font-size:1rem;overflow-wrap:anywhere}.feedback-stats-grid span{color:var(--muted);font-size:.78rem;font-weight:800}.feedback-list{max-height:460px;display:grid;gap:12px;overflow:auto;padding-right:4px}.feedback-card{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.feedback-card p{margin:0;color:var(--muted);line-height:1.65}.feedback-card-header,.feedback-card-meta,.rating-label,.feedback-actions{display:flex;align-items:center;gap:8px}.feedback-card-header{justify-content:space-between}.feedback-card-header strong{min-width:0;display:inline-flex;align-items:center;gap:7px;overflow-wrap:anywhere}.feedback-card-header strong svg{color:var(--primary);flex:0 0 auto}.feedback-card-meta{flex-wrap:wrap;color:var(--muted);font-size:.82rem;font-weight:700}.rating-label{flex:0 0 auto;color:var(--amber);font-weight:900}.challenge-feedback-summary{border-color:#d8a44747;background:#d8a4471a}.feedback-actions{flex-wrap:wrap}.feedback-actions .btn{flex:1 1 150px}.btn.ghost.danger{border-color:#f8717147;color:var(--danger);background:#f8717114}.compact-empty{min-height:140px;padding:18px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:20px;background:#071523c7}.certificate-dialog{width:min(780px,100%);max-height:calc(100svh - 40px);overflow:auto;position:relative;display:grid;gap:16px;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.certificate-dialog h2{margin:0}.modal-close{position:absolute;top:12px;right:12px}.certificate-result{display:grid;gap:16px}.certificate-result img{width:100%;border:1px solid var(--line);border-radius:8px}.lesson-item h3,.activity-item strong{margin:0}.progress-row{grid-template-columns:1fr}.progress-row>div:first-child{display:flex;justify-content:space-between;gap:12px}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--green))}.auth-page{width:min(500px,calc(100% - 32px));min-height:calc(100svh - 180px);margin:0 auto;display:grid;place-items:center;padding:48px 0}.auth-card{width:100%;padding:30px}.auth-page-split{width:min(1040px,calc(100% - 32px));grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;place-items:stretch}.auth-split-media{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:100%}.auth-split-media img{width:100%;height:100%;object-fit:cover;display:block}.auth-split-form{display:grid;align-content:center}@media(max-width:760px){.auth-page-split{grid-template-columns:1fr}.auth-split-media{display:none}}.auth-page-bg{width:100%;max-width:none;min-height:calc(100svh - 76px);margin:0;padding:56px clamp(20px,6vw,96px);padding-left:clamp(24px,16vw,280px);display:flex;justify-content:flex-start;align-items:center;place-items:center start;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.auth-bg-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#071523d1,#0715238c 45%,#07152326)}.auth-bg-form{position:relative;z-index:1;width:min(440px,100%)}.auth-bg-form .auth-card{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@media(max-width:760px){.auth-page-bg{justify-content:center;place-items:center;padding:40px 16px}.auth-bg-overlay{background:#071523b8}}.auth-logo{width:96px;height:96px;object-fit:contain;margin:0 auto 18px}.auth-heading-icon{display:inline-flex;align-items:center;gap:9px;margin-bottom:8px}.auth-heading-icon svg{flex:0 0 auto;color:var(--primary);transform:translateY(-1px)}.auth-card h1{margin:0 0 20px}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:var(--muted);font-weight:700}.auth-form input,.auth-form textarea{width:100%;min-height:44px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:10px 12px}.auth-form textarea{min-height:130px;resize:vertical}.settings-forms{display:grid;gap:20px}.input-with-icon{position:relative;display:block}.input-with-icon>svg{position:absolute;top:50%;left:12px;transform:translateY(-50%);color:var(--muted);pointer-events:none}.input-with-icon input{padding-left:40px}.field-hint{font-size:.75rem;font-weight:600;color:var(--muted);text-align:right}.check-line{grid-template-columns:auto 1fr;align-items:center}.check-line input{width:18px;min-height:18px}.form-error,.form-success{margin:0;padding:12px;border-radius:8px;line-height:1.5}.form-error{color:var(--danger);background:#f871711f}.form-success{color:var(--green);background:#35c2771f}.submission-result{margin-top:14px;width:100%;text-align:center;font-weight:700}.spin-icon{animation:spin .9s linear infinite;color:var(--primary)}.payment-summary{display:grid;gap:8px;margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.payment-summary span{color:var(--muted)}.notice-text{color:var(--muted);line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.readable-page{max-width:840px}.blog-detail-shell{display:grid;grid-template-columns:minmax(0,840px) minmax(220px,280px);gap:34px;align-items:start}.blog-detail-page{display:grid;align-content:start;gap:18px;min-width:0}.blog-detail-header{display:grid;gap:14px}.blog-detail-header .lead-text{margin:0}.blog-detail-meta{width:fit-content;gap:14px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.blog-detail-page .back-link{width:fit-content}.blog-detail-page .meta-row{margin-top:4px}.blog-detail-page h1{margin:0}.blog-featured-image{width:100%;max-height:420px;object-fit:cover;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);cursor:pointer;transition:transform .18s ease,border-color .18s ease}.blog-featured-image:hover,.blog-markdown-content img:hover{transform:scale(1.01);border-color:#2dd4bf61}.rich-text{color:var(--text);line-height:1.8}.blog-markdown-content{min-width:0;max-width:100%;overflow-wrap:break-word;word-break:break-word}.blog-markdown-content p,.blog-markdown-content li,.blog-markdown-content h1,.blog-markdown-content h2,.blog-markdown-content h3,.blog-markdown-content h4,.blog-markdown-content h5,.blog-markdown-content h6,.blog-markdown-content a,.blog-markdown-content blockquote{overflow-wrap:break-word;word-break:break-word}.rich-text img{border-radius:8px}.blog-markdown-content h1,.blog-markdown-content h2,.blog-markdown-content h3,.blog-markdown-content h4,.blog-markdown-content h5,.blog-markdown-content h6{scroll-margin-top:104px;margin:28px 0 10px;color:var(--text);line-height:1.25}.blog-markdown-content h1{font-size:clamp(1.9rem,4vw,2.7rem)}.blog-markdown-content h2{font-size:clamp(1.55rem,3vw,2rem)}.blog-markdown-content h3{font-size:1.35rem}.blog-markdown-content p{margin:0 0 18px;color:var(--muted)}.blog-markdown-content a{color:var(--primary);font-weight:700}.blog-markdown-content pre{overflow-x:auto;margin:22px 0;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.blog-markdown-content code{padding:2px 6px;border:1px solid var(--line);border-radius:6px;background:var(--bg-strong);color:var(--primary);font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:.92em;overflow-wrap:break-word;word-break:break-word}.blog-markdown-content pre code{word-break:normal}.blog-markdown-content pre code{padding:0;border:0;background:transparent;color:var(--text)}.blog-markdown-content blockquote{margin:22px 0;padding:16px 18px;border-left:4px solid var(--primary);border-radius:0 8px 8px 0;background:var(--surface);color:var(--muted)}.blog-markdown-content ul,.blog-markdown-content ol{display:grid;gap:8px;margin:0 0 20px;padding-left:24px;color:var(--muted)}.blog-markdown-content li{padding-left:4px}.blog-markdown-content img{max-width:100%;height:auto;margin:22px 0;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease}.blog-markdown-content table{display:block;width:100%;max-width:100%;margin:22px 0;overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.blog-markdown-content th{background:#2dd4bf1f;color:var(--text)}.blog-detail-tags{display:grid;gap:12px;padding-top:22px;border-top:1px solid var(--line)}.blog-detail-tags h2{margin:0;font-size:1rem}.blog-detail-tags>div{display:flex;flex-wrap:wrap;gap:10px}.blog-toc-panel{position:sticky;top:104px;max-height:calc(100svh - 126px);overflow-y:auto;display:grid;gap:14px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.blog-toc-panel h2{margin:0;display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.95rem}.blog-toc-panel h2 svg{color:var(--primary)}.blog-toc-panel nav{display:grid;gap:4px}.blog-toc-panel a{display:block;padding:7px 9px;border-left:2px solid transparent;border-radius:0 8px 8px 0;color:var(--muted);font-size:.88rem;line-height:1.35}.blog-toc-panel a:hover,.blog-toc-panel a:focus-visible{border-left-color:var(--primary);background:#2dd4bf1a;color:var(--text)}.blog-toc-panel .toc-level-3{margin-left:12px;font-size:.84rem}.blog-toc-panel .toc-level-4,.blog-toc-panel .toc-level-5,.blog-toc-panel .toc-level-6{margin-left:24px;font-size:.8rem}.image-zoom-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:none;align-items:center;justify-content:center;padding:28px;background:#030910e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.image-zoom-modal.show{display:flex}.image-zoom-container{position:relative;max-width:min(1120px,96vw);max-height:92vh;display:grid;justify-items:center;gap:12px}.image-zoom-container>img{max-width:100%;max-height:82vh;border-radius:8px;box-shadow:0 24px 80px #00000080}.image-zoom-close,.image-zoom-nav{position:absolute;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);cursor:pointer}.image-zoom-close{top:-14px;right:-14px;width:40px;height:40px}.image-zoom-nav{top:50%;width:44px;height:44px;transform:translateY(-50%)}.image-zoom-nav.prev{left:-58px}.image-zoom-nav.next{right:-58px}.image-zoom-caption{margin:0;color:var(--muted);text-align:center}.timeline{display:grid;gap:24px}.timeline-item{display:grid;grid-template-columns:36px 1fr;gap:18px}.timeline-item>svg{color:var(--amber);margin-top:6px}.roadmap-detail-timeline{gap:28px}.roadmap-phase{position:relative;padding:20px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.roadmap-phase.first-phase{border-color:#14b8a67a;background:linear-gradient(135deg,rgba(20,184,166,.16),transparent 52%),color-mix(in srgb,var(--surface) 94%,transparent)}.roadmap-phase.first-phase:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:8px 0 0 8px;background:var(--primary)}.roadmap-phase-marker{width:42px;min-height:78px;display:grid;grid-template-rows:30px 1fr;justify-items:center;gap:8px}.roadmap-phase-marker svg{color:var(--amber)}.roadmap-phase-marker strong{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(20,184,166,.36);border-radius:999px;background:#14b8a621;color:var(--primary);font-size:.9rem}.first-phase .roadmap-phase-marker strong{background:var(--primary);color:#041816}.roadmap-phase-header{display:grid;gap:8px;min-width:0}.roadmap-phase-toggle{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:16px;align-items:center;border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.roadmap-phase-toggle>svg{justify-self:end;color:var(--primary);transition:transform .16s ease}.roadmap-phase.expanded .roadmap-phase-toggle>svg{transform:rotate(180deg)}.roadmap-phase-toggle:hover .roadmap-phase-title{color:var(--primary)}.roadmap-phase-title,.roadmap-phase-copy{display:block}.roadmap-phase-title,.roadmap-phase-copy{margin:0}.roadmap-phase-title{color:var(--text);font-size:clamp(1.35rem,2.3vw,2rem);font-weight:800;line-height:1.16}.roadmap-phase-copy{max-width:850px;color:var(--muted);line-height:1.65}.roadmap-phase-label{display:inline-flex;width:fit-content;border-radius:999px;padding:4px 10px;background:#d8a44724;color:var(--amber);font-size:.74rem;font-weight:900;text-transform:uppercase}.first-phase .roadmap-phase-label{background:#14b8a626;color:var(--primary)}.subtopic-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.subtopic{padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.subtopic ul{display:grid;gap:10px;margin:12px 0 0;padding:0;list-style:none}.subtopic li{display:grid;grid-template-columns:20px 1fr;gap:8px;color:var(--muted)}.subtopic li svg{color:var(--primary);margin-top:3px}.roadmap-phase .subtopic li a{color:var(--primary);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.roadmap-phase .subtopic li a:hover{color:var(--text)}.table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface)}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:16px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:.8rem;text-transform:uppercase}td svg{color:var(--amber);vertical-align:middle}.leaderboard-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end;margin:18px 0 40px}.leaderboard-page .leaderboard-podium,.leaderboard-page .leaderboard-table-shell{width:100%;max-width:100%;margin-left:0;margin-right:0}.leaderboard-table-shell table{min-width:100%}.leaderboard-table{table-layout:fixed}.leaderboard-table th,.leaderboard-table td{text-align:center}.leaderboard-table th:first-child,.leaderboard-table td:first-child{width:88px}.leaderboard-table th:nth-child(2),.leaderboard-table td:nth-child(2){width:auto}.leaderboard-table th:nth-child(3),.leaderboard-table td:nth-child(3),.leaderboard-table th:nth-child(4),.leaderboard-table td:nth-child(4){width:132px}.leaderboard-table td:last-child{padding-right:16px}.leaderboard-table .blood-cell{justify-content:center;min-width:48px}.podium-place{display:grid;gap:10px}.podium-place.first{transform:translateY(-18px)}.podium-card{min-height:238px;display:grid;justify-items:center;align-content:center;gap:10px;padding:24px;border:1px solid var(--line);border-radius:8px;text-align:center;background:var(--surface);box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}.podium-card:hover{transform:translateY(-4px);border-color:#14b8a673}.podium-place.first .podium-card{min-height:276px;border-color:#ffd70094;background:linear-gradient(135deg,rgba(216,164,71,.16),transparent 58%),var(--surface)}.podium-place.second .podium-card{border-color:#c0c0c080;background:linear-gradient(135deg,rgba(192,192,192,.12),transparent 56%),var(--surface)}.podium-place.third .podium-card{border-color:#cd7f3280;background:linear-gradient(135deg,rgba(205,127,50,.13),transparent 56%),var(--surface)}.podium-icon{color:var(--amber)}.podium-place.second .podium-icon{color:silver}.podium-place.third .podium-icon{color:#cd7f32}.winner-avatar{width:62px;height:62px;display:block;border:3px solid var(--surface);border-radius:999px;object-fit:cover;box-shadow:0 12px 28px #02091247}.podium-place.first .winner-avatar{width:74px;height:74px;border-color:#ffd700b8}.winner-username,.profile-link{display:inline-flex;align-items:center;justify-content:center;gap:6px}.winner-username{max-width:100%;color:var(--text);font-size:1.02rem;overflow-wrap:anywhere}.winner-points{color:var(--primary);font-size:1.18rem;font-weight:900}.podium-place.first .winner-points{font-size:1.35rem}.winner-bloods,.blood-cell{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:800}.winner-bloods svg,.blood-cell svg{color:var(--danger)}.podium-base{min-height:82px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(135deg,#14b8a638,#d8a44729)}.podium-place.first .podium-base{min-height:112px;background:linear-gradient(135deg,#d8a447,#f5c957)}.podium-place.second .podium-base{min-height:94px;background:linear-gradient(135deg,#9ca3af,#d1d5db)}.podium-place.third .podium-base{min-height:94px;background:linear-gradient(135deg,#92400e,#cd7f32)}.podium-base span{color:#04131c94;font-size:2.4rem;font-weight:900}.leaderboard-rankings-title{margin:0 0 18px;font-size:1.5rem}.leaderboard-row{transition:background .16s ease}.leaderboard-row:hover{background:#ffffff0a}.rank-cell{color:var(--text);font-weight:900}.profile-link{width:fit-content;color:var(--primary);font-weight:800}.leaderboard-table-shell .profile-link{color:var(--text)}.leaderboard-table-shell .profile-link:hover{color:var(--primary)}.profile-header-card{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow);padding:22px;margin-bottom:24px}.profile-header{display:flex;gap:18px;align-items:center}.profile-avatar{width:104px;height:104px;flex:0 0 auto;border:1px solid rgba(20,184,166,.38);border-radius:8px;object-fit:cover;background:var(--bg-strong)}.profile-bio-box{margin-top:18px;padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#2dd4bf0f}.profile-bio-label{display:block;margin-bottom:6px;color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profile-bio{margin:0;color:var(--text);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.profile-content-layout{margin-top:28px}.profile-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.profile-course-item div{display:grid;gap:6px;min-width:0}.profile-course-item strong,.profile-course-item span{display:block}.profile-recent-solves .activity-list{gap:10px}.profile-recent-solves .activity-item{grid-template-columns:28px minmax(0,1fr);padding:13px}.profile-recent-solves .activity-item>div{display:grid;gap:4px;min-width:0}.profile-recent-solves .activity-item strong,.profile-recent-solves .activity-item span{display:block}.dashboard-page{display:grid;gap:22px}.dashboard-player-panel,.dashboard-panel,.dashboard-stat-card{border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.dashboard-player-panel{display:grid;grid-template-columns:92px minmax(0,1fr) minmax(220px,max-content);gap:20px;align-items:center;padding:22px}.dashboard-avatar{width:92px;height:92px;border:1px solid rgba(20,184,166,.38);border-radius:8px;object-fit:cover;background:var(--bg-strong)}.dashboard-player-copy{min-width:0}.dashboard-player-copy h1{margin:8px 0;font-size:clamp(1.8rem,4vw,3rem);line-height:1.08}.dashboard-player-copy p,.dashboard-player-meta span,.dashboard-panel-heading span{color:var(--muted)}.dashboard-player-copy p{max-width:620px;margin:0;line-height:1.65}.dashboard-player-meta{display:grid;gap:8px;justify-items:end;text-align:right}.dashboard-player-meta strong{max-width:260px;color:var(--text);font-size:1.2rem;line-height:1.2}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-stat-card{min-height:142px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:18px}.dashboard-stat-card>svg{color:var(--primary)}.dashboard-stat-card strong{align-self:center;min-width:0;color:var(--text);font-size:clamp(1.35rem,2.8vw,2.15rem);line-height:1.08;overflow-wrap:anywhere}.dashboard-stat-card span{color:var(--muted);font-weight:800}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:22px;align-items:stretch}.dashboard-panel{display:grid;align-content:start;gap:16px;padding:22px;min-width:0}.dashboard-panel-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-height:32px}.dashboard-panel-heading h2,.dashboard-subscriptions p{margin:0}.dashboard-progress-panel .progress-list,.dashboard-activity-panel .activity-list{gap:10px}.dashboard-progress-panel .progress-row{min-height:82px}.category-matrix{display:grid;gap:12px}.category-radar-wrap{width:100%;min-height:260px;display:grid;place-items:center}.category-radar{width:min(100%,560px);height:auto;overflow:visible}.category-radar-ring{fill:none;stroke:color-mix(in srgb,var(--muted) 22%,transparent);stroke-width:1;stroke-dasharray:3 4}.category-radar-axis{stroke:color-mix(in srgb,var(--muted) 18%,transparent);stroke-width:1;stroke-dasharray:3 4}.category-radar-area{fill:#16a34a40;stroke:#22c55e;stroke-width:3;stroke-linejoin:round}.category-radar-dot{fill:#22c55e;stroke:color-mix(in srgb,#22c55e 42%,var(--surface));stroke-width:3}.category-radar-label{fill:var(--text);font-size:.58rem;font-weight:900;letter-spacing:0}.category-matrix-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-matrix-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.category-matrix-row strong,.category-matrix-row span{display:block}.category-matrix-row strong{color:var(--text);font-size:.9rem;line-height:1.25}.category-matrix-row span{margin-top:4px;color:var(--muted);font-size:.78rem}.category-matrix-row b{color:#22c55e;font-size:.9rem}.category-matrix-track{grid-column:1 / -1;height:5px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--muted) 18%,transparent)}.category-matrix-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#22c55e)}.dashboard-activity-panel{grid-template-rows:auto minmax(0,1fr) auto}.dashboard-activity-panel .activity-item{grid-template-columns:28px minmax(0,1fr);min-height:0;row-gap:2px;padding:10px 12px;align-items:center}.dashboard-activity-panel .activity-item div{display:contents}.dashboard-activity-panel .activity-item strong{grid-column:2;min-width:0}.dashboard-activity-panel .activity-item span{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:2px;color:var(--muted);font-size:.88rem;text-align:left}.dashboard-activity-panel .activity-item mark{border-radius:0;padding:0;background:transparent;color:var(--primary);font-weight:900;text-transform:capitalize}.dashboard-activity-panel .activity-item mark.failed{background:transparent;color:var(--danger)}.dashboard-subscriptions{margin-top:0}.dashboard-subscription-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.subscription-mini-card{min-height:92px;display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.subscription-mini-card svg{color:var(--primary)}.subscription-mini-card.expired{opacity:.72}.subscription-mini-card.expired svg{color:var(--danger)}.subscription-mini-card strong,.subscription-mini-card span{display:block}.subscription-mini-card strong{line-height:1.35}.subscription-mini-card span{margin-top:5px;color:var(--muted);font-size:.9rem;line-height:1.45}.subscription-mini-card mark{display:inline-flex;margin-right:6px;border-radius:999px;padding:1px 8px;background:#14b8a621;color:var(--primary);font-weight:900}.subscription-continue-link{display:inline-flex;align-items:center;gap:6px;width:fit-content;margin-top:12px;border-radius:8px;padding:7px 10px;background:#14b8a621;color:var(--primary);font-size:.85rem;font-weight:900}.subscription-continue-link svg{width:15px;height:15px}.subscription-mini-card.expired mark{background:#f8717121;color:var(--danger)}.service-page{display:grid;gap:46px}.service-hero{min-height:360px;display:grid;place-items:center;padding:62px 24px;border:1px solid var(--line);border-radius:8px;text-align:center;background:linear-gradient(135deg,#14b8a633,#0f766e14),linear-gradient(135deg,var(--surface),var(--bg-strong));overflow:hidden}.service-hero.compact{min-height:300px}.service-hero.ctf-hero,.service-hero.compact{min-height:230px;padding:36px 24px}.service-hero.ctf-hero h1,.service-hero.compact h1{font-size:clamp(2rem,4vw,3.4rem)}.service-hero.ctf-hero p,.service-hero.compact p{max-width:680px;font-size:1rem}.service-hero h1{margin:8px 0 12px;font-size:clamp(2.5rem,6vw,5rem);line-height:1}.service-hero p{max-width:780px;margin:0;color:var(--muted);font-size:1.1rem;line-height:1.75}.service-two-column{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:30px;align-items:start}.service-two-column h2{margin:8px 0 6px;font-size:clamp(1.65rem,3vw,2.25rem)}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.event-card{min-height:100%;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.event-image{position:relative}.event-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(7,21,35,.78),transparent 58%)}.event-image img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.event-body{display:grid;gap:12px;padding:16px}.event-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:.78rem}.event-meta span{display:inline-flex;align-items:center;gap:5px}.event-body h3{margin:0;font-size:1.12rem}.mode-chip{display:inline-flex;align-items:center;gap:5px;width:fit-content;border-radius:999px;padding:4px 10px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.mode-chip.online{color:var(--primary);background:#14b8a61f}.mode-chip.onsite{color:var(--amber);background:#d8a44724}.event-stats{display:flex;flex-wrap:wrap;gap:12px}.event-stat{display:grid;grid-template-columns:22px auto;column-gap:6px;align-items:center;min-width:86px}.event-stat svg{grid-row:span 2;color:var(--primary)}.event-stat strong{line-height:1}.event-stat span{color:var(--muted);font-size:.72rem}.service-form{margin-top:22px}.subscribe-page{display:grid;gap:34px}.subscription-pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,360px));justify-content:center;gap:22px}.subscription-plan-card{min-height:100%;display:grid;align-content:start;gap:22px;padding:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);transition:border-color .16s ease,transform .16s ease}.subscription-plan-card:hover{transform:translateY(-4px);border-color:#14b8a66b}.subscription-plan-card.coming{opacity:.78}.subscription-plan-header{display:grid;justify-items:center;gap:12px;text-align:center}.subscription-plan-header svg{color:var(--primary)}.subscription-plan-header h2,.subscription-plan-header strong{margin:0}.subscription-plan-header strong{color:var(--muted);font-size:1.18rem}.subscription-feature-list{display:grid;gap:0;margin:0;padding:0;list-style:none}.subscription-feature-list li{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);color:var(--muted);font-weight:700}.subscription-feature-list li:last-child{border-bottom:0}.subscription-feature-list svg{color:var(--primary);flex:0 0 auto}.subscription-workflow{display:grid;gap:24px}.subscription-workflow-header{display:flex;align-items:start;justify-content:space-between;gap:18px}.subscription-workflow-header h1{margin:8px 0 0;font-size:clamp(1.9rem,4vw,3rem)}.payment-method-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.payment-method-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.payment-method-card svg{color:var(--primary)}.payment-method-card strong,.payment-method-card span{display:block}.payment-method-card span{color:var(--muted);font-size:.9rem}.payment-method-card.active{border-color:#14b8a66b;background:#14b8a61a}.payment-method-card.disabled{opacity:.58}.subscription-steps{display:grid;gap:22px}.subscription-step{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px}.subscription-step:not(:last-child):after{content:"";position:absolute;left:21px;top:48px;bottom:-20px;width:2px;background:var(--line)}.step-number{width:44px;height:44px;z-index:1;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:#04131c;font-weight:900}.step-content{display:grid;gap:12px;min-width:0}.step-content h2,.step-content p{margin:0}.step-content h2{font-size:1.18rem}.step-content p{color:var(--muted);line-height:1.65}.subscription-select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong);color:var(--text);padding:10px 12px}.selected-course-card,.instapay-card{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--bg-strong)}.selected-course-card h3{margin:0;font-size:1rem}.selected-course-card span{color:var(--muted)}.instapay-card{width:fit-content;align-items:center}.instapay-card img{width:100%;max-width:220px;border-radius:8px;background:#fff}.sub-steps{display:grid;gap:9px}.sub-step{display:flex;align-items:center;gap:10px;color:var(--muted);line-height:1.5}.sub-step span{flex:0 0 auto;border-radius:999px;padding:3px 8px;background:#14b8a624;color:var(--primary);font-size:.74rem;font-weight:900}.sub-step span.info{background:#3b82f629;color:#60a5fa}.form-field{display:grid;gap:9px}.form-field>span{color:var(--muted);font-weight:700}.form-field small{font-weight:400}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--muted);padding:7px 12px;cursor:pointer}.category-chip:hover,.category-chip.selected{border-color:var(--primary);color:var(--primary);background:#14b8a61f}.training-coming-card{max-width:900px;margin:0 auto 28px;padding:42px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);text-align:center;position:relative;overflow:hidden}.training-coming-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--green),var(--amber),var(--danger))}.training-icon{width:96px;height:96px;display:grid;place-items:center;margin:0 auto 18px;border-radius:999px;color:var(--primary);background:#14b8a61f}.training-coming-card h2{margin:0 0 24px;font-size:clamp(2rem,5vw,3rem)}.training-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}.error-page{min-height:calc(100svh - 180px);display:grid;place-items:center;align-content:center;gap:24px;text-align:center}.error-visual{display:grid;justify-items:center;gap:12px}.error-visual img{width:clamp(92px,18vw,150px);height:clamp(92px,18vw,150px);object-fit:contain}.error-visual span{color:var(--primary);font-size:clamp(4rem,16vw,9rem);font-weight:900;line-height:.9}.error-copy{max-width:620px;display:grid;justify-items:center;gap:12px}.error-copy h1,.error-copy p{margin:0}.error-copy h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1}.error-copy p{color:var(--muted);font-size:1.05rem;line-height:1.7}.error-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.status-block,.empty-state{min-height:180px;display:grid;place-items:center;gap:10px;padding:28px;text-align:center;color:var(--muted)}.empty-state{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.empty-state svg{color:var(--amber)}.empty-state.danger svg{color:var(--danger)}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:44px 0 34px;border-top:1px solid var(--line);color:var(--muted)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr) minmax(230px,.8fr);gap:32px;align-items:start}.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.footer-brand img{width:54px;height:54px;object-fit:contain}.footer-brand h2,.site-footer h3{margin:0;color:var(--text)}.site-footer h3{margin-bottom:14px;font-size:1rem;color:var(--primary)}.footer-brand-block p{max-width:430px;line-height:1.7}.footer-links{display:grid;gap:10px}.footer-links a{display:inline-flex;align-items:center;gap:8px;width:fit-content;color:var(--muted)}.footer-links a:hover,.footer-contact:hover{color:var(--primary)}.social-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.social-links a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}.social-links a:hover{border-color:var(--primary);color:var(--primary)}.footer-contact{display:inline-flex;align-items:center;gap:8px;color:var(--muted)}.footer-bottom{margin-top:34px;padding-top:18px;border-top:1px solid var(--line)}.footer-bottom p{margin:0}@media(max-width:980px){.mobile-only{display:inline-flex}.challenge-header-row{grid-template-columns:1fr}.site-nav{position:absolute;top:76px;left:16px;right:16px;display:none;flex-direction:column;align-items:stretch;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.site-nav.open{display:flex}.nav-menu{position:static;width:100%;opacity:1;pointer-events:auto;transform:none;box-shadow:none;margin-top:6px}.hero-content,.split-section,.content-layout,.detail-hero,.blog-detail-shell,.lesson-focus-layout,.dashboard-player-panel,.dashboard-grid,.roadmap-phase,.challenges-layout,.image-band,.service-two-column,.course-card{grid-template-columns:1fr}.course-sidebar{max-height:none;position:static}.challenge-filter-sidebar,.challenge-detail-sidebar{position:static}.blog-toc-panel,.lesson-outline-panel{position:static;max-height:none}.sidebar-lesson-list{max-height:360px}.lesson-reader{max-height:none;min-height:360px}.event-grid,.subscription-pricing-grid,.payment-method-grid,.roadmap-branch-grid,.dashboard-stats-grid,.dashboard-subscription-list,.training-preview-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.event-grid,.subscription-pricing-grid,.payment-method-grid,.dashboard-stats-grid,.dashboard-subscription-list,.training-preview-grid,.footer-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-content{padding:64px 0 52px}.partners-strip-inner{grid-template-columns:1fr;gap:12px;padding:14px 0}.landing-stats-grid{grid-template-columns:1fr}.landing-stat{min-height:92px}.landing-stat+.landing-stat{border-top:1px solid var(--line);border-left:0}.partner-logo{width:80px;height:68px}.card-grid.three,.card-grid.four,.course-grid,.subtopic-grid,.feedback-stats-grid,.dashboard-stats-grid,.profile-stats-grid,.stat-grid{grid-template-columns:1fr}.course-search-field,.course-filter-bar label:not(.course-search-field),.course-clear-filter,.course-result-count{width:100%;flex-basis:100%}.course-result-count{margin-left:0}.overview-lesson-card{grid-template-columns:34px minmax(0,1fr)}.overview-lesson-state{grid-column:2}.dashboard-player-meta{justify-items:start;text-align:left}.dashboard-player-panel{align-items:start}.category-matrix-list{grid-template-columns:1fr}.roadmap-phase-marker{min-height:auto;grid-template-columns:30px 32px;grid-template-rows:1fr;justify-content:start}}@media(max-width:680px){.card-grid.two,.roadmap-branch-grid,.leaderboard-podium{grid-template-columns:1fr}.podium-place.first,.podium-place.second,.podium-place.third{transform:none}.podium-place.first{order:1}.podium-place.second{order:2}.podium-place.third{order:3}.podium-card,.podium-place.first .podium-card{min-height:220px}.podium-base,.podium-place.first .podium-base,.podium-place.second .podium-base,.podium-place.third .podium-base{min-height:64px}.section{padding:48px 0}.hero-actions .btn,.auth-form .btn{width:100%}.subscription-workflow-header{display:grid}.subscription-workflow-header .btn{width:100%}.instapay-card{grid-template-columns:1fr}.question-submit-row{flex-direction:column}.question-submit-row .btn{width:100%}}.wallpapers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px;margin-top:8px}.wallpaper-card{margin:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--surface)}.wallpaper-thumb{display:block;aspect-ratio:16 / 10;background:var(--surface-2);overflow:hidden}.wallpaper-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.wallpaper-thumb:hover img{transform:scale(1.04)}.wallpaper-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;font-weight:700;color:var(--text)}.wallpaper-download{padding:8px 14px}
