@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Inter:wght@400;500;600&display=swap";:root{--bg:#0d1117;--bg-canvas:#010409;--bg-overlay:#161b22;--bg-inset:#090d12;--bg-subtle:#1c2128;--border:#30363d;--border-muted:#21262d;--border-strong:#484f58;--text:#e6edf3;--text-muted:#8b949e;--text-subtle:#6e7681;--green:#3fb950;--green-dim:#3fb95026;--green-glow:#3fb95014;--syn-keyword:#ff7b72;--syn-fn:#d2a8ff;--syn-string:#a5d6ff;--syn-number:#79c0ff;--syn-comment:#8b949e;--danger:#f85149;--danger-dim:#f8514926;--warning:#e3b341;--warning-dim:#e3b34126;--info:#58a6ff;--info-dim:#58a6ff1f;--r-sm:4px;--r-md:6px;--r-lg:10px;--r-xl:14px;--shadow-panel:0 0 0 1px var(--border), 0 16px 40px #0009;--max-width:1180px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:JetBrains Mono,Cascadia Code,Fira Code,monospace;font-size:14px;font-weight:400;line-height:1.6}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg-canvas);color:var(--text)}p,li{font-family:Inter,system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:none}select,textarea,input{border:1px solid var(--border);outline:none}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}.page-container{width:min(var(--max-width), calc(100% - 32px));margin:0 auto}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;background:var(--bg-overlay);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header:before{content:"";opacity:.55;background:linear-gradient(90deg,#ff5f56 0 33%,#ffbd2e 33% 66%,#27c93f 66% 100%);height:2px;display:block}.header-inner{justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0;display:flex}.brand-button{color:var(--text);background:0 0;flex-shrink:0;align-items:center;gap:10px;padding:0;display:inline-flex}.brand-mark{border-radius:var(--r-md);background:var(--green-dim);width:32px;height:32px;color:var(--green);letter-spacing:-.05em;border:1px solid #3fb9504d;justify-content:center;align-items:center;font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:700;display:inline-flex}.brand-name{letter-spacing:.04em;color:var(--text);font-family:JetBrains Mono,monospace;font-size:.88rem;font-weight:500}.main-nav{flex:1;align-items:stretch;height:52px;margin:0 12px;display:flex;overflow:hidden}.nav-button{color:var(--text-muted);border-right:1px solid var(--border-muted);white-space:nowrap;background:0 0;border-radius:0;padding:0 18px;font-family:Inter,system-ui,sans-serif;font-size:.82rem;font-weight:500;transition:background .15s,color .15s;position:relative}.nav-button:first-child{border-left:1px solid var(--border-muted)}.nav-button:hover{color:var(--text);background:#ffffff0a}.nav-button.active{color:var(--text);background:var(--bg)}.nav-button.active:after{content:"";background:var(--green);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:0;left:0;right:0}.language-switcher{flex-shrink:0;align-items:center;gap:8px;display:flex}.language-label{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;font-family:Inter,system-ui,sans-serif;font-size:.72rem}.language-buttons{align-items:center;gap:4px;display:flex}.lang-button{border-radius:var(--r-sm);min-width:36px;color:var(--text-muted);background:0 0;border:1px solid #0000;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.76rem;font-weight:600;transition:all .15s}.lang-button:hover{color:var(--text);border-color:var(--border)}.lang-button.active{background:var(--green-dim);color:var(--green);border-color:#3fb9504d}.main-content{flex:1;padding:32px 0 56px}.page-section{flex-direction:column;gap:20px;display:flex}.hero-card,.content-card,.feature-card,.status-box,.challenge-card,.stat-card,.editor-card,.result-panel{border:1px solid var(--border);background:var(--bg-overlay)}.hero-card{border-radius:var(--r-xl);padding:44px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#ffffff03 2px 4px);position:absolute;inset:0}.hero-badge{border-radius:var(--r-sm);background:var(--green-dim);width:fit-content;color:var(--green);letter-spacing:.04em;border:1px solid #3fb95040;margin-bottom:20px;padding:3px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;display:inline-flex}.hero-title{color:var(--text);letter-spacing:-.02em;margin:0 0 16px;font-family:JetBrains Mono,monospace;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;line-height:1.1}.hero-description{max-width:700px;color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.92rem;line-height:1.65}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.primary-button,.secondary-button{border-radius:var(--r-md);letter-spacing:.01em;padding:8px 18px;font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:600;transition:filter .15s,transform .1s,box-shadow .15s}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:active,.secondary-button:active{transform:translateY(0)}.primary-button:disabled,.secondary-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.primary-button{background:var(--green);color:#090d12;font-weight:700;box-shadow:0 0 0 1px #3fb95066,0 4px 12px #3fb95033}.primary-button:hover:not(:disabled){background:#56d364;box-shadow:0 0 0 1px #3fb95080,0 6px 18px #3fb9504d}.secondary-button{background:var(--bg-subtle);color:var(--text);border:1px solid var(--border)}.secondary-button:hover:not(:disabled){background:var(--bg-inset);border-color:var(--border-strong)}.feature-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.feature-card{border-radius:var(--r-lg);padding:20px;transition:border-color .2s;position:relative;overflow:hidden}.feature-card:hover{border-color:var(--border-strong)}.feature-card:before{content:"";background:var(--green);opacity:.7;width:3px;height:36px;position:absolute;top:0;left:0}.feature-card h2{color:var(--text);margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:500}.feature-card p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.82rem;line-height:1.55}.content-card{border-radius:var(--r-xl);padding:28px;position:relative}.content-card h1{letter-spacing:-.01em;margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:600}.content-card>p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.85rem}.page-top-row{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;display:flex}.filters-stack{flex-direction:column;gap:12px;min-width:240px;display:flex}.filter-box{flex-direction:column;gap:6px;min-width:200px;display:flex}.filter-box label{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.filter-box select,.filter-box input[type=date]{background:var(--bg-inset);color:var(--text);border:1px solid var(--border);border-radius:var(--r-md);padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:.83rem;transition:border-color .15s,box-shadow .15s}.filter-box select:focus,.filter-box input[type=date]:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow)}.filter-box select,.filter-box option{color:var(--text);background:var(--bg-inset)}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.filter-box input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.6);cursor:pointer}.mode-switch{flex-direction:column;gap:6px;display:flex}.mode-switch-label{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600}.mode-switch-buttons{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--r-md);gap:3px;padding:3px;display:flex}.mode-button{border-radius:var(--r-sm);color:var(--text-muted);text-align:center;background:0 0;border:1px solid #0000;flex:1;padding:5px 14px;font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:500;transition:all .15s}.mode-button:hover{color:var(--text);background:#ffffff0d}.mode-button.active{background:var(--bg-subtle);color:var(--text);border-color:var(--border)}.mode-button.hacker.active{background:var(--danger-dim);color:var(--danger);border-color:#f851494d}.status-box{border-radius:var(--r-lg);background:var(--bg-inset);border-color:var(--border-muted);margin-top:20px;padding:18px}.status-box h2{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:500}.status-box p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.85rem}.hacker-info-box{background:var(--danger-dim);border-color:#f851494d}.hacker-info-box h2{color:var(--danger)}.challenge-card{border-radius:var(--r-xl);padding:24px}.challenge-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.challenge-card-header h2{letter-spacing:-.02em;margin:12px 0 0;font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:600;line-height:1.15}.badge-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.difficulty-pill,.completed-pill,.hacker-pill{border-radius:var(--r-sm);letter-spacing:.04em;border:1px solid #0000;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;display:inline-flex}.difficulty-pill{background:var(--info-dim);color:var(--info);border-color:#58a6ff33}.completed-pill{background:var(--green-dim);color:var(--green);border-color:#3fb95040}.hacker-pill{background:var(--danger-dim);color:var(--danger);border-color:#f8514940}.challenge-description{color:var(--text-muted);margin:16px 0 0;font-family:Inter,system-ui,sans-serif;font-size:.88rem;line-height:1.65}.challenge-meta-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.meta-item{border-radius:var(--r-md);background:var(--bg-inset);border:1px solid var(--border-muted);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.meta-item span{color:var(--text-subtle);letter-spacing:.06em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:.68rem}.meta-item strong{color:var(--text);word-break:break-word;font-family:JetBrains Mono,monospace;font-size:.83rem}.challenge-section{margin-top:20px}.challenge-section h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.challenge-section p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.88rem;line-height:1.65}.challenge-list{color:var(--text-muted);margin:0;padding-left:0;font-family:Inter,system-ui,sans-serif;font-size:.85rem;list-style:none}.challenge-list li{padding:4px 0 4px 16px;line-height:1.55;position:relative}.challenge-list li:before{content:"›";color:var(--green);font-family:JetBrains Mono,monospace;position:absolute;left:0}.challenge-list li+li,.compact-list li+li{margin-top:4px}.code-block{border-radius:var(--r-md);background:var(--bg-inset);border:1px solid var(--border-muted);color:#a5d6ff;white-space:pre-wrap;background-image:linear-gradient(90deg, var(--bg-canvas) 40px, var(--border-muted) 40px, var(--border-muted) 41px, transparent 41px);margin:0;padding:14px 16px 14px 54px;font-family:JetBrains Mono,monospace;font-size:.85rem;line-height:1.7;overflow-x:auto}.editor-card{border-radius:var(--r-xl);margin-top:20px;padding:24px}.editor-card-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.editor-card-header h2{letter-spacing:-.01em;margin:0 0 4px;font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:600}.editor-card-header p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.8rem}.muted-text{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.83rem}.editor-stats{flex-wrap:wrap;gap:8px;display:flex}.mini-stat{border-radius:var(--r-md);background:var(--bg-inset);border:1px solid var(--border-muted);min-width:110px;padding:10px 14px}.mini-stat span{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:.67rem;display:block}.mini-stat strong{color:var(--text);font-family:JetBrains Mono,monospace;font-size:1.5rem}.hacker-stat{background:var(--danger-dim);border-color:#f851494d}.hacker-stat strong{color:var(--danger)}.code-editor{resize:vertical;border-radius:var(--r-md);background:var(--bg-canvas);color:#c9d1d9;border:1px solid var(--border);width:100%;min-height:260px;caret-color:var(--green);padding:16px 18px;font-family:JetBrains Mono,monospace;font-size:.88rem;line-height:1.75;transition:border-color .15s,box-shadow .15s}.code-editor:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-glow);outline:none}.code-editor:disabled{opacity:.5;cursor:not-allowed}.editor-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.editor-grid{grid-template-columns:1.3fr .9fr;gap:14px;margin-top:18px;display:grid}.result-panel{border-radius:var(--r-lg);background:var(--bg-inset);border-color:var(--border-muted);padding:18px}.result-panel h3{letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:0 0 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600}.result-subsection+.result-subsection{margin-top:16px}.result-subsection h4{color:var(--text-muted);margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:500}.feedback-box{border-radius:var(--r-md);border:1px solid var(--border);margin-bottom:14px;padding:14px}.feedback-box h4{margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:500}.feedback-box p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.82rem}.feedback-box p+p{margin-top:4px}.success-box{background:var(--green-dim);border-color:#3fb9504d}.success-box h4{color:var(--green)}.error-box{background:var(--danger-dim);border-color:#f851494d}.error-box h4{color:var(--danger)}.tests-list{flex-direction:column;gap:6px;display:flex}.test-item{border-radius:var(--r-sm);border:1px solid var(--border-muted);background:var(--bg-overlay);border-left-width:2px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.test-item span{font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:600}.test-item code{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;font-family:JetBrains Mono,monospace;font-size:.78rem}.test-item.passed{border-left-color:var(--green);background:var(--green-glow)}.test-item.passed span{color:var(--green)}.test-item.failed{border-left-color:var(--danger);background:var(--danger-dim)}.test-item.failed span{color:var(--danger)}.stats-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.stat-card{border-radius:var(--r-md);background:var(--bg-inset);border-color:var(--border-muted);padding:16px;transition:border-color .2s}.stat-card:hover{border-color:var(--border)}.stat-card span{color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:.67rem;display:block}.stat-card strong{color:var(--text);font-family:JetBrains Mono,monospace;font-size:1.8rem;font-weight:600}.site-footer{border-top:1px solid var(--border-muted);background:var(--bg-canvas)}.footer-inner{padding:14px 0 20px}.footer-inner p{color:var(--text-subtle);margin:0;font-family:JetBrains Mono,monospace;font-size:.75rem}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;background:#010409d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-overlay);border-radius:var(--r-xl);border:1px solid var(--border);width:min(520px,90%);box-shadow:0 0 0 1px var(--border), 0 24px 64px #000c;padding:28px}.modal-card h2{color:var(--green);margin-top:0;font-family:JetBrains Mono,monospace;font-size:1.05rem;font-weight:600}.modal-card ul{color:var(--text-muted);padding-left:0;font-family:Inter,system-ui,sans-serif;font-size:.88rem;list-style:none}.modal-card li{padding:5px 0 5px 18px;position:relative}.modal-card li:before{content:"›";color:var(--green);font-family:JetBrains Mono,monospace;position:absolute;left:0}.upcoming-banner{border-radius:var(--r-lg);background:var(--warning-dim);border:1px solid #e3b34140;margin-top:24px;padding:16px 18px}.upcoming-label{border-radius:var(--r-sm);color:var(--warning);letter-spacing:.06em;text-transform:uppercase;background:#e3b34133;margin-bottom:10px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.upcoming-content h2{color:var(--warning);margin:0 0 6px;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:600}.upcoming-content p{color:var(--text-muted);margin:0;font-family:Inter,system-ui,sans-serif;font-size:.85rem}@media (width<=980px){.filters-stack{min-width:100%}.header-inner{flex-wrap:wrap;gap:0;padding:8px 0}.main-nav{border-top:1px solid var(--border-muted);scrollbar-width:none;order:3;width:100%;height:auto;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.nav-button{white-space:nowrap;border-bottom:none;border-right:none;padding:10px 16px}.nav-button:first-child{border-left:none}.feature-grid,.challenge-meta-grid,.stats-grid{grid-template-columns:repeat(2,1fr)}.page-top-row,.editor-card-header{flex-direction:column}.editor-grid{grid-template-columns:1fr}.filter-box{min-width:100%}}@media (width<=640px){.page-container{width:min(var(--max-width), calc(100% - 20px))}.hero-card,.content-card,.challenge-card,.editor-card{padding:18px}.hero-actions,.editor-actions{flex-direction:column}.primary-button,.secondary-button{text-align:center;width:100%}.feature-grid,.challenge-meta-grid,.stats-grid{grid-template-columns:1fr}.hero-title{font-size:1.6rem}.code-editor{min-height:200px}.mini-stat{min-width:100%}.challenge-card-header h2{font-size:1.2rem}}
