@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/1d4eaed977255102-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f3f7e95f2dbc4fe4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sora Fallback;src:local("Arial");ascent-override:85.29%;descent-override:25.50%;line-gap-override:0.00%;size-adjust:113.73%}.__className_ce197d{font-family:Sora,Sora Fallback;font-style:normal}.__variable_ce197d{--font-sora:"Sora","Sora Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_3c557b{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}:root{--font-sora:"Sora",sans-serif;--font-jetbrains:"JetBrains Mono",monospace;--color-bg:#0a0a0a;--color-surface:#141414;--color-surface-hover:#1a1a1a;--color-border:#2a2a2a;--color-text:#e0e0e0;--color-text-muted:#888;--color-primary:#28cf8d;--color-primary-hover:#22b87a;--color-accent:#ff6b6b;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*{box-sizing:border-box}*,html{margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sora);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.app-body{min-height:100vh;position:relative;overflow-x:hidden}.app-gradient{background:radial-gradient(circle at 20% 50%,rgba(40,207,141,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,107,107,.1) 0,transparent 50%)}.app-gradient,.app-noise{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:0}.app-noise{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.03'/%3E%3C/svg%3E")}.app-main{position:relative;z-index:1;padding-bottom:60px}body.challenge-mode .nav-shell{display:none}body.challenge-mode .app-main{padding-bottom:0;margin-bottom:0}.challenge-top-bar{justify-content:space-between;gap:.75rem;padding:.5rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(10,10,10,.95),rgba(10,10,10,.8));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:none;min-height:44px}.challenge-top-bar,.challenge-top-left{display:flex;align-items:center;margin:0}.challenge-top-left{gap:.5rem;padding:0 1rem}.challenge-back{width:24px;height:24px;border-radius:50%;border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);text-decoration:none;font-size:.75rem;background:var(--color-surface);transition:all .2s;margin:0;padding:0;flex-shrink:0}.challenge-back:hover{border-color:var(--color-primary);color:var(--color-primary)}.challenge-home{padding:.25rem .75rem;border-radius:6px;border:1px solid var(--color-border);display:inline-flex;align-items:center;justify-content:center;color:var(--color-text);text-decoration:none;font-size:.75rem;font-weight:500;background:var(--color-surface);transition:all .2s;margin:0;flex-shrink:0}.challenge-home:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-hover)}.challenge-top-title{font-size:.9rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0;padding:0}.challenge-title-dropdown{position:relative;display:inline-block}.challenge-title-dropdown-trigger{display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--color-text);font-size:.9rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;cursor:pointer;padding:0;margin:0;transition:color .2s}.challenge-title-dropdown-trigger:hover{color:var(--color-primary)}.challenge-title-dropdown-icon{font-size:.7rem;color:var(--color-text-muted);transition:transform .2s,color .2s}.challenge-title-dropdown-trigger:hover .challenge-title-dropdown-icon{color:var(--color-primary)}.challenge-title-dropdown-menu{position:absolute;top:calc(100% + .5rem);left:0;min-width:280px;max-width:400px;max-height:400px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:1000;overflow:hidden;display:flex;flex-direction:column}.challenge-title-dropdown-header{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.challenge-title-dropdown-list{overflow-y:auto;max-height:350px}.challenge-title-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;color:var(--color-text);text-decoration:none;transition:background .15s;border-bottom:1px solid var(--color-border);font-size:.85rem}.challenge-title-dropdown-item:last-child{border-bottom:none}.challenge-title-dropdown-item:hover{background:var(--color-surface-hover)}.challenge-title-dropdown-item.active{background:rgba(40,207,141,.1);color:var(--color-primary)}.challenge-title-dropdown-item-title{flex:1 1;line-height:1.4}.challenge-title-dropdown-item-indicator{color:var(--color-primary);font-size:.6rem;margin-left:.5rem}.challenge-top-meta{padding:0}.challenge-top-meta,.challenge-top-right{display:flex;align-items:center;gap:.35rem;margin:0}.challenge-top-right{padding:0 1.25rem}.challenge-nav-link{padding:.3rem .65rem;border-radius:999px;border:1px solid var(--color-border);color:var(--color-text);text-decoration:none;font-size:.8rem;background:var(--color-surface-hover);transition:all .2s;min-width:90px;text-align:center;line-height:1.4}.challenge-nav-link:hover{border-color:var(--color-primary);color:var(--color-primary)}.challenge-nav-link.disabled{opacity:.4;cursor:not-allowed}.pill-compact{padding:.15rem .5rem;font-size:.7rem;line-height:1.4}.nav-shell{position:fixed;bottom:0;left:0;right:0;height:60px;background:rgba(10,10,10,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--color-border);border-bottom:none;justify-content:space-between;padding:0 2rem;margin:0;z-index:100}.nav-left,.nav-shell{display:flex;align-items:center}.nav-left{gap:1rem}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text);font-weight:600;font-size:1.25rem;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-logo .emoji{font-size:1.5rem}.nav-title{font-weight:700;font-size:1rem}.pill{background:var(--color-primary);color:#000;padding:.25rem .5rem;border-radius:12px;font-size:.75rem;font-weight:600}.nav-right{display:flex;align-items:center;gap:1.5rem}.nav-link{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;transition:color .2s}.nav-link:hover{color:var(--color-text)}.nav-cta{background:var(--color-primary);color:#000;padding:.5rem 1rem;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.9rem;transition:background .2s}.nav-cta:hover{background:var(--color-primary-hover)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.hero{text-align:center;padding:4rem 0;margin-bottom:3rem}.hero h1{font-size:3rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--color-text) 0,var(--color-text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{font-size:1.25rem;color:var(--color-text-muted);max-width:600px;margin:0 auto}.challenge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.5rem;gap:1.5rem;margin-bottom:4rem}.challenge-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s;text-decoration:none;color:inherit;display:block}.challenge-card:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 8px 24px rgba(40,207,141,.1)}.challenge-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem}.challenge-card-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--color-text)}.challenge-card-description{color:var(--color-text-muted);font-size:.9rem;line-height:1.6;margin-bottom:1rem}.challenge-card-footer{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mindmap-controls{margin-bottom:2rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.group-by-selector{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.group-by-selector>span{color:var(--color-text-muted);font-size:.9rem}.group-by-btn{padding:.5rem 1rem;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.group-by-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.group-by-btn.active{background:var(--color-primary);color:#000;border-color:var(--color-primary)}.mindmap-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:4rem}.mindmap-category{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:all .2s}.mindmap-category-header{margin-bottom:1.5rem}.mindmap-category-header.clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mindmap-category-header.clickable:hover{opacity:.8}.mindmap-category-title{display:flex;align-items:center;gap:.75rem}.mindmap-expand-icon{color:var(--color-primary);font-size:.75rem;width:1rem;display:inline-flex;align-items:center;justify-content:center}.mindmap-category-title h2{font-size:1.5rem;font-weight:700;color:var(--color-text);margin:0}.mindmap-count{color:var(--color-text-muted);font-size:.9rem;font-weight:400}.mindmap-subcategories{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem;padding-left:1.5rem;border-left:2px solid var(--color-border)}.mindmap-subcategory{display:flex;flex-direction:column;gap:1rem}.mindmap-subcategory-title{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0;display:flex;align-items:center;gap:.5rem}.challenge-grid-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:1.25rem;gap:1.25rem;margin-bottom:3rem}.path-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden;display:block;transition:all .2s}.path-card-header-link{text-decoration:none;color:inherit;display:block}.path-card-header-link:hover+.path-buckets,.path-card:hover{border-color:var(--color-primary)}.path-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(40,207,141,.1)}.path-card:after{content:"";position:absolute;top:-30%;right:-20%;width:240px;height:240px;background:radial-gradient(circle,rgba(40,207,141,.08),transparent 60%);pointer-events:none}.path-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.path-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:var(--color-text-muted);margin:0 0 .35rem}.path-title{font-size:1.35rem;font-weight:700;margin:0 0 .35rem}.path-description{margin:0;color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.path-buckets{display:flex;flex-direction:column;gap:1.25rem;margin-top:.5rem}.path-bucket{background:var(--color-surface-hover);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:1rem;text-decoration:none;color:inherit;display:block;transition:all .2s;cursor:pointer}.path-bucket:hover{background:var(--color-surface);border-color:var(--color-primary);border-style:solid;transform:translateX(4px)}.path-bucket-title{display:flex;align-items:center;gap:.5rem;width:100%;background:transparent;border:none;color:var(--color-text);text-align:left;padding:0;pointer-events:none}.path-node{width:10px;height:10px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 6px rgba(40,207,141,.1)}.path-bucket-label{display:inline-flex;align-items:center;gap:.35rem;font-size:1.05rem;font-weight:600}.path-toggle-icon{font-size:.8rem;color:var(--color-primary)}.difficulty-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.difficulty-badge.easy{background:rgba(40,207,141,.2);color:var(--color-primary)}.difficulty-badge.medium{background:rgba(255,193,7,.2);color:#ffc107}.difficulty-badge.hard{background:rgba(255,107,107,.2);color:var(--color-accent)}.difficulty-badge.beginner{background:rgba(40,207,141,.2);color:var(--color-primary)}.challenge-detail-page{height:100vh;display:flex;flex-direction:column;overflow:hidden;padding-top:0;margin-top:0}.challenge-layout{position:relative;align-items:stretch}.challenge-layout,.challenge-left-panel{display:flex;height:100%;overflow:hidden}.challenge-left-panel{flex-direction:column;background:var(--color-surface);border-right:1px solid var(--color-border);min-width:520px}.challenge-left-header{flex-shrink:0;border-bottom:1px solid var(--color-border);background:var(--color-bg);padding:0;display:flex;flex-direction:column;justify-content:flex-end}.challenge-title{padding:.4rem 1rem .3rem;font-size:1.25rem;font-weight:700;margin:0;color:var(--color-text);line-height:1.2}.challenge-right-panel{height:100%;flex-direction:column;overflow:hidden;padding:0}.challenge-right-panel,.challenge-tabs{display:flex;background:var(--color-surface);margin:0}.challenge-tabs{padding:.5rem 1rem;gap:.5rem;flex-shrink:0;align-items:center;border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.challenge-tab{padding:.4rem .75rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;font-family:var(--font-sora);line-height:1.3;display:flex;align-items:center;position:relative;min-width:-moz-fit-content;min-width:fit-content;white-space:nowrap}.challenge-tab:hover{color:var(--color-text);background:var(--color-surface-hover)}.challenge-tab.active{color:var(--color-primary);background:rgba(40,207,141,.1);font-weight:600}.challenge-tab.active:after{content:"";position:absolute;bottom:-.75rem;left:50%;transform:translateX(-50%);width:24px;height:2px;background:var(--color-primary);border-radius:1px}.challenge-tab-content{flex:1 1;overflow-y:auto;padding:1rem 1.5rem 1.5rem;min-height:0;margin:0}.challenge-description-content{max-width:880px}.challenge-description-content h2{font-size:1.25rem;margin-bottom:.6rem;margin-top:1rem;font-weight:600}.challenge-description-content h2:first-child,.challenge-description-content>:first-child{margin-top:0}.challenge-description-content p{margin-bottom:.75rem;line-height:1.6;font-size:.9rem}.challenge-description-content ol,.challenge-description-content ul{margin-left:1.25rem;margin-bottom:.75rem;font-size:.9rem;line-height:1.6}.challenge-description-content li{margin-bottom:.35rem}.challenge-description-content code{background:var(--color-bg);padding:.15rem .35rem;border-radius:var(--radius-sm);font-family:var(--font-jetbrains);font-size:.85em}.challenge-description-content pre{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.75rem 1rem;overflow-x:auto;margin:.75rem 0;font-size:.85rem;font-family:var(--font-jetbrains);line-height:1.5}.challenge-description-content pre code{background:none;padding:0}.markdown-code-block{margin:1rem 0}.markdown-pre{-moz-tab-size:2;tab-size:2}.markdown-pre .token.cdata,.markdown-pre .token.comment,.markdown-pre .token.doctype,.markdown-pre .token.prolog{color:#6A9955;font-style:italic}.markdown-pre .token.punctuation{color:#D4D4D4}.markdown-pre .token.boolean,.markdown-pre .token.constant,.markdown-pre .token.deleted,.markdown-pre .token.number,.markdown-pre .token.property,.markdown-pre .token.symbol,.markdown-pre .token.tag{color:#B5CEA8}.markdown-pre .token.attr-name,.markdown-pre .token.builtin,.markdown-pre .token.char,.markdown-pre .token.inserted,.markdown-pre .token.selector,.markdown-pre .token.string{color:#CE9178}.markdown-pre .token.entity,.markdown-pre .token.operator,.markdown-pre .token.url,.markdown-pre .token.variable{color:#D4D4D4}.markdown-pre .token.atrule,.markdown-pre .token.attr-value,.markdown-pre .token.class-name,.markdown-pre .token.function{color:#DCDCAA}.markdown-pre .token.keyword{color:#569CD6}.markdown-pre .token.important,.markdown-pre .token.regex{color:#D16969}.markdown-pre .token.lifetime{color:#C586C0}.markdown-pre .token.macro{color:#DCDCAA}.markdown-pre .token.type-definition{color:#4EC9B0}.result-placeholder{text-align:center;padding:4rem 2rem;color:var(--color-text-muted)}.challenge-resizer{width:4px;background:var(--color-border);cursor:col-resize;position:relative;flex-shrink:0;transition:background .2s;align-self:stretch;display:flex;align-items:center;justify-content:center;height:100%;margin:auto 0}.challenge-resizer.resizing,.challenge-resizer:hover,.resizer-handle{background:var(--color-primary)}.resizer-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:40px;border-radius:2px;opacity:.3;transition:opacity .2s}.challenge-resizer.resizing .resizer-handle,.challenge-resizer:hover .resizer-handle{opacity:1}.code-editor-container{height:100%;display:flex;flex-direction:column;background:var(--color-surface);padding:0;margin:0}.code-editor-header{background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:.5rem 1rem;justify-content:space-between;flex-shrink:0;box-sizing:border-box;margin:0;z-index:20}.code-editor-header,.code-editor-nav{display:flex;align-items:center;gap:.5rem}.code-editor-title{font-size:.85rem;font-weight:600;color:var(--color-text-muted);font-family:var(--font-jetbrains);line-height:1.4;display:flex;align-items:center}.code-editor-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:nowrap}.btn{padding:.3rem .65rem;border-radius:6px;border:none;font-weight:600;font-size:.85rem;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;font-family:var(--font-sora);line-height:1.4}.btn-nav{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.btn-nav:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-nav.disabled{opacity:.4;cursor:not-allowed}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#000}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-surface-hover);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface)}.code-editor-content{flex:1 1;position:relative;overflow:hidden;min-height:0}.code-editor-wrapper{position:relative;height:100%;overflow:hidden}.code-editor-highlight{position:absolute;inset:0;padding:1rem;margin:0;background:var(--color-bg);font-family:var(--font-jetbrains);font-size:.875rem;line-height:1.6;overflow:auto;pointer-events:none;white-space:pre;word-wrap:normal;-moz-tab-size:2;tab-size:2}.code-editor-highlight>div{min-height:1.6em}.code-editor-textarea{position:absolute;top:0;left:0;width:100%;height:100%;padding:1rem;background:transparent;color:transparent;caret-color:var(--color-text);border:none;font-family:var(--font-jetbrains);font-size:.875rem;line-height:1.6;resize:none;outline:none;overflow:auto;white-space:pre;word-wrap:normal;-moz-tab-size:2;tab-size:2;z-index:1}.code-editor-textarea::selection{background:rgba(40,207,141,.3)}.code-editor-textarea:focus{outline:none}.code-editor-footer{padding:.5rem 1rem;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;background:var(--color-bg)}.code-editor-highlight .token.cdata,.code-editor-highlight .token.comment,.code-editor-highlight .token.doctype,.code-editor-highlight .token.prolog{color:#6A9955;font-style:italic}.code-editor-highlight .token.punctuation{color:#D4D4D4}.code-editor-highlight .token.boolean,.code-editor-highlight .token.constant,.code-editor-highlight .token.deleted,.code-editor-highlight .token.number,.code-editor-highlight .token.property,.code-editor-highlight .token.symbol,.code-editor-highlight .token.tag{color:#B5CEA8}.code-editor-highlight .token.attr-name,.code-editor-highlight .token.builtin,.code-editor-highlight .token.char,.code-editor-highlight .token.inserted,.code-editor-highlight .token.selector,.code-editor-highlight .token.string{color:#CE9178}.code-editor-highlight .token.entity,.code-editor-highlight .token.operator,.code-editor-highlight .token.url,.code-editor-highlight .token.variable{color:#D4D4D4}.code-editor-highlight .token.atrule,.code-editor-highlight .token.attr-value,.code-editor-highlight .token.class-name,.code-editor-highlight .token.function{color:#DCDCAA}.code-editor-highlight .token.keyword{color:#569CD6}.code-editor-highlight .token.important,.code-editor-highlight .token.regex{color:#D16969}.code-editor-highlight .token.lifetime{color:#C586C0}.code-editor-highlight .token.macro{color:#DCDCAA}.code-editor-highlight .token.type-definition{color:#4EC9B0}.loading{color:var(--color-text-muted)}.error,.loading{text-align:center;padding:4rem 2rem}.error{color:var(--color-accent)}.code-output{border-top:1px solid var(--color-border);padding:1rem;background:var(--color-bg);font-family:var(--font-jetbrains);font-size:.9rem;white-space:pre-wrap;color:var(--color-text);max-height:300px;overflow-y:auto}.code-output.success{border-left:3px solid var(--color-primary)}.code-output.error{border-left:3px solid var(--color-accent)}.code-output .output-line{margin-bottom:.25rem}.code-output .error-line{color:var(--color-accent)}.code-output .warning-line{color:#ffc107}.code-output .success-line{color:var(--color-primary)}.code-output .output-header{font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.test-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.test-results-header h3{font-size:1.25rem;font-weight:600;margin:0}.test-summary{font-size:.9rem;color:var(--color-text-muted);font-weight:600}.test-cases{flex-direction:column;margin-bottom:1.5rem}.test-case,.test-cases{display:flex;gap:.75rem}.test-case{align-items:flex-start;padding:.75rem;background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.test-case.test-passed{border-color:var(--color-primary);background:rgba(40,207,141,.1)}.test-case.test-failed{border-color:var(--color-accent);background:rgba(255,107,107,.1)}.test-status{font-size:1.25rem;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.test-case.test-passed .test-status{color:var(--color-primary)}.test-case.test-failed .test-status{color:var(--color-accent)}.test-info{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.test-name{font-size:.9rem;font-weight:500;color:var(--color-text)}.test-message{font-size:.85rem;color:var(--color-text-muted);font-family:var(--font-jetbrains);margin-top:.25rem;opacity:.8}.result-output{margin-top:1.5rem}.result-output-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;font-size:.9rem}.copy-btn{padding:.25rem .75rem;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;cursor:pointer;transition:background .2s;font-family:var(--font-sora)}.copy-btn:hover{background:var(--color-surface)}@media (max-width:768px){.nav-shell{padding:0 1rem}.nav-right{gap:.75rem}.nav-link{display:none}.hero h1{font-size:2rem}.hero p{font-size:1rem}.challenge-grid{grid-template-columns:1fr}.challenge-detail-page,.challenge-layout{flex-direction:column}.challenge-left-panel{min-width:0}.challenge-left-panel,.challenge-right-panel{width:100%!important;height:50%}.challenge-resizer{width:100%;height:4px;cursor:row-resize}.resizer-handle{width:40px;height:2px;top:50%;left:50%;transform:translate(-50%,-50%)}}