.regex-dojo-module__565nta__page{color:#d4d4d4;background:#0f0f0f;flex-direction:column;min-height:100vh;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;display:flex}.regex-dojo-module__565nta__layout{flex:1;grid-template-columns:1fr 1fr;gap:0;height:0;min-height:0;display:grid}@media (max-width:900px){.regex-dojo-module__565nta__layout{grid-template-columns:1fr;height:auto}}.regex-dojo-module__565nta__explanationPanel{background:#1a1a2e;border-right:1px solid #2d2d4e;flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.regex-dojo-module__565nta__lessonHeader{border-bottom:1px solid #2d2d4e;margin-bottom:.5rem;padding-bottom:1rem}.regex-dojo-module__565nta__lessonTitle{color:#f0a050;margin:0 0 .25rem;font-family:sans-serif;font-size:1.25rem;font-weight:700}.regex-dojo-module__565nta__lessonMeta{color:#888;gap:1rem;font-family:sans-serif;font-size:.75rem;display:flex}.regex-dojo-module__565nta__difficultyBadge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.regex-dojo-module__565nta__difficultyBeginner{color:#4caf50;background:#1a3a1a;border:1px solid #4caf50}.regex-dojo-module__565nta__difficultyIntermediate{color:#ff9800;background:#3a2a0a;border:1px solid #ff9800}.regex-dojo-module__565nta__difficultyAdvanced{color:#f44747;background:#3a1a1a;border:1px solid #f44747}.regex-dojo-module__565nta__explanationContent{color:#ccc;font-family:sans-serif;font-size:.85rem;line-height:1.7}.regex-dojo-module__565nta__explanationContent h2{color:#f0a050;border-left:3px solid #f0a050;margin:1.25rem 0 .5rem;padding-left:.5rem;font-size:1rem;font-weight:600}.regex-dojo-module__565nta__explanationContent h2:first-child{margin-top:0}.regex-dojo-module__565nta__explanationContent h3{color:#f5c88a;margin:1rem 0 .4rem;font-size:.9rem;font-weight:600}.regex-dojo-module__565nta__explanationContent p{margin:.5rem 0}.regex-dojo-module__565nta__explanationContent pre{background:#0d0d0d;border:1px solid #333;border-radius:4px;margin:.75rem 0;padding:.75rem;overflow-x:auto}.regex-dojo-module__565nta__explanationContent code{color:#f0a050;background:#0d0d0d;border-radius:3px;padding:.1em .35em;font-family:JetBrains Mono,monospace;font-size:.85em}.regex-dojo-module__565nta__explanationContent pre code{color:#d4d4d4;background:0 0;padding:0;font-size:.82rem}.regex-dojo-module__565nta__explanationContent table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.82rem}.regex-dojo-module__565nta__explanationContent th{color:#f5c88a;text-align:left;background:#2a1e0e;border:1px solid #3d2d1a;padding:.4rem .75rem}.regex-dojo-module__565nta__explanationContent td{color:#ccc;border:1px solid #2d2d2d;padding:.35rem .75rem}.regex-dojo-module__565nta__explanationContent tr:nth-child(2n) td{background:#161616}.regex-dojo-module__565nta__explanationContent strong{color:#e0e0e0;font-weight:600}.regex-dojo-module__565nta__regexPanel{background:#1e1e1e;flex-direction:column;display:flex;overflow:hidden}.regex-dojo-module__565nta__regexPanelHeader{color:#888;background:#2d2d2d;border-bottom:1px solid #3d3d3d;flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.75rem;display:flex}.regex-dojo-module__565nta__terminalHeaderDots{gap:.35rem;display:flex}.regex-dojo-module__565nta__terminalHeaderDot{border-radius:50%;width:12px;height:12px}.regex-dojo-module__565nta__terminalHeaderDotRed{background:#ff5f57}.regex-dojo-module__565nta__terminalHeaderDotYellow{background:#ffbd2e}.regex-dojo-module__565nta__terminalHeaderDotGreen{background:#28c840}.regex-dojo-module__565nta__terminalHeaderTitle{color:#aaa;text-align:center;flex:1}.regex-dojo-module__565nta__regexPanelBody{flex-direction:column;flex:1;display:flex;overflow-y:auto}.regex-dojo-module__565nta__regexEditorWrapper{border-bottom:1px solid #3d3d3d;flex-shrink:0}.regex-dojo-module__565nta__regexEditorHeader{background:#252525;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:.4rem .75rem;display:flex}.regex-dojo-module__565nta__regexEditorLabel{color:#f0a050;text-transform:uppercase;letter-spacing:.06em;font-family:sans-serif;font-size:.72rem;font-weight:600}.regex-dojo-module__565nta__regexEditorHint{color:#555;font-family:sans-serif;font-size:.68rem}.regex-dojo-module__565nta__regexInputRow{background:#1e1e1e;border-bottom:1px solid #2d2d2d;align-items:center;gap:.25rem;padding:.6rem 1rem;display:flex}.regex-dojo-module__565nta__regexSlash{color:#f0a050;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:1.1rem;font-weight:700}.regex-dojo-module__565nta__regexPatternInput{color:#f5c88a;caret-color:#f0a050;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:1rem}.regex-dojo-module__565nta__regexPatternInput::placeholder{color:#444}.regex-dojo-module__565nta__regexFlagsDisplay{color:#f0a050;min-width:2rem;font-family:JetBrains Mono,monospace;font-size:.9rem}.regex-dojo-module__565nta__regexFlagsRow{background:#1a1a1a;border-bottom:1px solid #2d2d2d;align-items:center;gap:.4rem;padding:.4rem 1rem;display:flex}.regex-dojo-module__565nta__regexFlagsLabel{color:#666;margin-right:.25rem;font-family:sans-serif;font-size:.72rem}.regex-dojo-module__565nta__flagButton{color:#666;cursor:pointer;background:0 0;border:1px solid #444;border-radius:3px;padding:.15rem .5rem;font-family:JetBrains Mono,monospace;font-size:.8rem;transition:all .15s}.regex-dojo-module__565nta__flagButton:hover{color:#f0a050;border-color:#f0a050}.regex-dojo-module__565nta__flagButtonActive{color:#f0a050;background:#2a1e0e;border-color:#f0a050}.regex-dojo-module__565nta__testStringSection{background:#1e1e1e;padding:.6rem 1rem .75rem}.regex-dojo-module__565nta__testStringLabel{color:#555;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem;font-family:sans-serif;font-size:.68rem}.regex-dojo-module__565nta__testStringDisplay{color:#888;white-space:pre-wrap;word-break:break-all;max-height:80px;font-family:JetBrains Mono,monospace;font-size:.82rem;line-height:1.5;overflow-y:auto}.regex-dojo-module__565nta__resultArea{flex:1;padding:.75rem 1rem;overflow-y:auto}.regex-dojo-module__565nta__resultSection{margin-bottom:.75rem}.regex-dojo-module__565nta__resultSectionLabel{color:#555;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem;font-family:sans-serif;font-size:.68rem}.regex-dojo-module__565nta__resultHighlight{color:#d4d4d4;white-space:pre-wrap;word-break:break-all;background:#151515;border:1px solid #2d2d2d;border-radius:4px;padding:.6rem .75rem;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.8}.regex-dojo-module__565nta__matchHighlight{color:#f5c88a;background:#f0a05040;border-bottom:2px solid #f0a050;border-radius:2px;padding:0 1px}.regex-dojo-module__565nta__resultNoMatch{color:#555}.regex-dojo-module__565nta__resultMeta{color:#888;margin-top:.5rem;font-family:sans-serif;font-size:.78rem}.regex-dojo-module__565nta__resultMatchCount{color:#f0a050;font-weight:700}.regex-dojo-module__565nta__resultNoMatchText{color:#555;font-style:italic}.regex-dojo-module__565nta__matchList{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.regex-dojo-module__565nta__matchChip{color:#f5c88a;background:#2a1e0e;border:1px solid #f0a05040;border-radius:3px;padding:.1rem .4rem;font-family:JetBrains Mono,monospace;font-size:.75rem}.regex-dojo-module__565nta__matchChipMore{color:#666;padding:.1rem .25rem;font-size:.72rem}.regex-dojo-module__565nta__resultEmpty{color:#555;text-align:center;padding:1.5rem 0;font-family:sans-serif;font-size:.82rem}.regex-dojo-module__565nta__resultError{color:#f44747;white-space:pre-wrap;word-break:break-all;background:#1a0d0d;border:1px solid #f4474740;border-radius:4px;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;padding:.6rem .75rem;font-family:JetBrains Mono,monospace;font-size:.82rem;display:flex}.regex-dojo-module__565nta__resultErrorIcon{flex-shrink:0;font-weight:700}.regex-dojo-module__565nta__resultSuccess{color:#4caf50;background:#0d1a0d;border:1px solid #4caf5060;border-radius:4px;margin-bottom:.75rem;padding:.4rem .75rem;font-family:sans-serif;font-size:.82rem}.regex-dojo-module__565nta__exerciseTracker{background:#161616;border-top:1px solid #3d3d3d;flex-shrink:0;max-height:220px;padding:.75rem 1rem;overflow-y:auto}.regex-dojo-module__565nta__exerciseTrackerTitle{color:#888;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem;font-family:sans-serif;font-size:.7rem}.regex-dojo-module__565nta__exerciseList{flex-direction:column;gap:.4rem;display:flex}.regex-dojo-module__565nta__exerciseItem{background:#1a1a1a;border:1px solid #0000;border-radius:4px;align-items:flex-start;gap:.5rem;padding:.4rem .6rem;font-family:sans-serif;font-size:.78rem;transition:border-color .2s;display:flex}.regex-dojo-module__565nta__exerciseActive{background:#1a1208;border-color:#f0a050}.regex-dojo-module__565nta__exerciseCompleted{opacity:.6;border-color:#4caf5040}.regex-dojo-module__565nta__exerciseIcon{flex-shrink:0;width:16px;height:16px;margin-top:1px}.regex-dojo-module__565nta__exerciseText{color:#ccc;flex:1;line-height:1.4}.regex-dojo-module__565nta__exerciseActiveText{color:#e0e0e0;font-weight:500}.regex-dojo-module__565nta__exerciseCompletedText{color:#4caf50;-webkit-text-decoration:line-through #4caf5060;text-decoration:line-through #4caf5060}.regex-dojo-module__565nta__hintButton{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:3px;padding:.1rem .4rem;font-family:sans-serif;font-size:.7rem;transition:color .2s,border-color .2s}.regex-dojo-module__565nta__hintButton:hover{color:#f0a050;border-color:#f0a050}.regex-dojo-module__565nta__hintBox{color:#f0a050;background:#1a1208;border:1px solid #f0a05040;border-radius:4px;margin-top:.4rem;padding:.4rem .6rem;font-family:sans-serif;font-size:.75rem;line-height:1.5}.regex-dojo-module__565nta__sampleAnswer{color:#666;margin-top:.3rem;font-family:sans-serif;font-size:.72rem}.regex-dojo-module__565nta__sampleAnswer code{color:#f5c88a;font-family:JetBrains Mono,monospace;font-size:.8em}.regex-dojo-module__565nta__progressBar{background:#2d2d2d;border-radius:2px;height:3px;margin:.75rem 0;overflow:hidden}.regex-dojo-module__565nta__progressBarFill{background:linear-gradient(90deg,#f0a050,#f5c88a);border-radius:2px;height:100%;transition:width .4s}.regex-dojo-module__565nta__lessonComplete{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;min-height:60vh;padding:2rem;font-family:sans-serif;display:flex}.regex-dojo-module__565nta__lessonCompleteIcon{font-size:4rem;animation:.5s cubic-bezier(.34,1.56,.64,1) regex-dojo-module__565nta__popIn}@keyframes regex-dojo-module__565nta__popIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.regex-dojo-module__565nta__lessonCompleteTitle{color:#4caf50;font-size:1.75rem;font-weight:700}.regex-dojo-module__565nta__lessonCompleteScore{color:#f0a050;font-size:2.5rem;font-weight:700}.regex-dojo-module__565nta__lessonCompleteScoreLabel{color:#888;margin-top:-1rem;font-size:.85rem}.regex-dojo-module__565nta__lessonCompleteActions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.regex-dojo-module__565nta__btnPrimary{color:#0f0f0f;cursor:pointer;background:#f0a050;border:none;border-radius:6px;padding:.6rem 1.5rem;font-family:sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.regex-dojo-module__565nta__btnPrimary:hover{background:#d8903a}.regex-dojo-module__565nta__btnSecondary{color:#f0a050;cursor:pointer;background:0 0;border:1px solid #f0a050;border-radius:6px;padding:.6rem 1.5rem;font-family:sans-serif;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-block}.regex-dojo-module__565nta__btnSecondary:hover{background:#f0a05010}.regex-dojo-module__565nta__hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;max-width:1100px;margin:0 auto;padding:4rem 2rem 3rem;font-family:sans-serif;display:grid}@media (max-width:800px){.regex-dojo-module__565nta__hero{grid-template-columns:1fr;gap:2rem;padding:2rem 1.25rem}}.regex-dojo-module__565nta__heroContent{flex-direction:column;gap:1rem;display:flex}.regex-dojo-module__565nta__heroBadge{color:#f0a050;background:#2a1e0e;border:1px solid #f0a05060;border-radius:9999px;width:fit-content;padding:.2rem .75rem;font-size:.78rem;font-weight:600;display:inline-block}.regex-dojo-module__565nta__heroTitle{margin:0;font-family:JetBrains Mono,monospace;font-size:3rem;font-weight:800;line-height:1.1}.regex-dojo-module__565nta__heroTitleAccent{color:#f0a050}.regex-dojo-module__565nta__heroSubtitle{color:#e0e0e0;margin:0;font-size:1.15rem;line-height:1.6}.regex-dojo-module__565nta__heroSubtitle strong{color:#f0a050}.regex-dojo-module__565nta__heroDesc{color:#888;margin:0;font-size:.9rem;line-height:1.7}.regex-dojo-module__565nta__heroCta{color:#0f0f0f;background:#f0a050;border-radius:8px;width:fit-content;margin-top:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .2s,transform .1s;display:inline-block}.regex-dojo-module__565nta__heroCta:hover{background:#d8903a;transform:translateY(-1px)}.regex-dojo-module__565nta__heroDemoPanel{background:#1e1e1e;border:1px solid #3d3d3d;border-radius:10px;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;overflow:hidden;box-shadow:0 8px 32px #00000080}.regex-dojo-module__565nta__heroDemoPanelHeader{background:#2d2d2d;border-bottom:1px solid #3d3d3d;align-items:center;gap:.4rem;padding:.5rem 1rem;display:flex}.regex-dojo-module__565nta__heroDemoPanelDot{border-radius:50%;width:12px;height:12px;display:inline-block}.regex-dojo-module__565nta__heroDemoPanelTitle{color:#888;margin-left:.5rem;font-size:.72rem}.regex-dojo-module__565nta__heroDemoPanelBody{flex-direction:column;gap:.75rem;padding:1rem;display:flex}.regex-dojo-module__565nta__heroDemoPattern{align-items:center;gap:.25rem;display:flex}.regex-dojo-module__565nta__heroDemoSlash{color:#f0a050;font-size:1.1rem;font-weight:700}.regex-dojo-module__565nta__heroDemoPatternText{color:#f5c88a;font-size:.9rem;font-weight:600}.regex-dojo-module__565nta__heroDemoFlagsText{color:#f0a050;font-size:.9rem}.regex-dojo-module__565nta__heroDemoLabel{color:#555;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.15rem;font-family:sans-serif;font-size:.68rem}.regex-dojo-module__565nta__heroDemoText{color:#d4d4d4;background:#151515;border:1px solid #2d2d2d;border-radius:4px;padding:.5rem .75rem;font-size:.82rem;line-height:1.7}.regex-dojo-module__565nta__heroDemoMark{color:#f5c88a;background:#f0a05040;border-bottom:2px solid #f0a050;border-radius:2px;padding:0 1px}.regex-dojo-module__565nta__heroDemoMeta{color:#555;font-family:sans-serif;font-size:.72rem}.regex-dojo-module__565nta__featuresSection{background:#141414;border-top:1px solid #1e1e1e;border-bottom:1px solid #1e1e1e;padding:2.5rem 2rem}.regex-dojo-module__565nta__featuresGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;font-family:sans-serif;display:grid}.regex-dojo-module__565nta__featureCard{flex-direction:column;gap:.5rem;display:flex}.regex-dojo-module__565nta__featureIcon{font-size:1.75rem}.regex-dojo-module__565nta__featureTitle{color:#e0e0e0;font-size:.95rem;font-weight:700}.regex-dojo-module__565nta__featureDesc{color:#888;font-size:.82rem;line-height:1.6}.regex-dojo-module__565nta__coursePage{max-width:900px;margin:0 auto;padding:2rem 1.5rem;font-family:sans-serif}.regex-dojo-module__565nta__coursePageTitle{color:#f0a050;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.regex-dojo-module__565nta__coursePageSubtitle{color:#888;margin-bottom:2rem;font-size:.9rem}.regex-dojo-module__565nta__courseGrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.regex-dojo-module__565nta__courseCard{cursor:pointer;color:inherit;background:#1a1208;border:1px solid #2d2010;border-radius:10px;padding:1.5rem;text-decoration:none;transition:border-color .2s,transform .1s;display:block}.regex-dojo-module__565nta__courseCard:hover{border-color:#f0a050;transform:translateY(-2px)}.regex-dojo-module__565nta__courseCardIcon{margin-bottom:.75rem;font-size:2.5rem}.regex-dojo-module__565nta__courseCardTitle{color:#e0e0e0;margin-bottom:.4rem;font-size:1.1rem;font-weight:700}.regex-dojo-module__565nta__courseCardDescription{color:#888;margin-bottom:.75rem;font-size:.82rem;line-height:1.6}.regex-dojo-module__565nta__courseCardMeta{color:#666;font-size:.75rem}.regex-dojo-module__565nta__courseCardTarget{color:#f5c88a;margin-top:.25rem;font-size:.75rem}.regex-dojo-module__565nta__courseCardComingSoon{opacity:.55;cursor:default;position:relative}.regex-dojo-module__565nta__courseCardComingSoon:hover{border-color:#2d2010;transform:none}.regex-dojo-module__565nta__comingSoonBadge{color:#666;background:#2d2d2d;border:1px solid #444;border-radius:9999px;width:fit-content;margin-top:.75rem;padding:.15rem .6rem;font-family:sans-serif;font-size:.7rem;font-weight:600;display:inline-block}.regex-dojo-module__565nta__lessonList{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.regex-dojo-module__565nta__lessonListItem{color:inherit;background:#1a1208;border:1px solid #2d2010;border-radius:8px;align-items:center;gap:1rem;padding:1rem 1.25rem;text-decoration:none;transition:border-color .2s;display:flex}.regex-dojo-module__565nta__lessonListItem:hover{border-color:#f0a050}.regex-dojo-module__565nta__lessonListNumber{color:#f0a050;text-align:center;min-width:1.5rem;font-size:.75rem;font-weight:700}.regex-dojo-module__565nta__lessonListInfo{flex:1}.regex-dojo-module__565nta__lessonListTitle{color:#e0e0e0;margin-bottom:.2rem;font-size:.9rem;font-weight:600}.regex-dojo-module__565nta__lessonListDesc{color:#888;font-size:.78rem}.regex-dojo-module__565nta__lessonListMeta{color:#666;align-items:center;gap:.75rem;font-size:.72rem;display:flex}
