.crt-overlay[data-v-a9a259f7]{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:repeating-linear-gradient(0deg,rgba(0,0,0,.02) 0px,rgba(0,0,0,.02) 1px,transparent 1px,transparent 4px);mix-blend-mode:multiply}.crt-overlay[data-v-a9a259f7]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 62%,rgba(0,0,0,.13) 100%)}.level-progress[data-v-b1ac1a1a]{display:flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--fg-dim);flex:1;justify-content:flex-end;min-width:0}.progress-text[data-v-b1ac1a1a]{white-space:nowrap;color:var(--yellow);font-size:12px;flex-shrink:0}.progress-cells[data-v-b1ac1a1a]{display:flex;align-items:center;gap:3px;flex-wrap:nowrap;overflow:hidden}.chapter-group[data-v-b1ac1a1a]{display:flex;gap:3px}.chapter-sep[data-v-b1ac1a1a]{width:1px;height:14px;background:var(--bg-light);margin:0 4px;flex-shrink:0}.progress-cell[data-v-b1ac1a1a]{width:14px;height:14px;background:var(--bg-light);border:none;border-radius:3px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.progress-cell[data-v-b1ac1a1a]:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0006}.progress-cell.passed[data-v-b1ac1a1a]{background:var(--ld-progress-done)}.progress-cell.current[data-v-b1ac1a1a]{background:var(--ld-progress-current);box-shadow:0 0 6px #fe801980}.cell-check[data-v-b1ac1a1a]{font-size:9px;color:#1d2021;font-weight:700;line-height:1}.app-root[data-v-32774dcf]{position:relative;min-height:100vh;overflow-x:hidden}.app-header[data-v-32774dcf]{display:flex;align-items:center;height:64px;padding:0 var(--ld-sp-8);background:var(--bg-dark);border-bottom:1px solid var(--bg-light);position:sticky;top:0;z-index:100}.header-left[data-v-32774dcf]{flex:0 0 auto}.app-logo[data-v-32774dcf]{font-family:var(--font-mono);font-size:18px;color:var(--orange);letter-spacing:2px;font-weight:700;text-shadow:0 0 18px rgba(254,128,25,.3)}.header-nav[data-v-32774dcf]{display:flex;gap:var(--ld-sp-2);margin-left:var(--ld-sp-10)}.nav-link[data-v-32774dcf]{font-family:var(--font-mono);font-size:13px;color:var(--fg-dim);text-decoration:none;padding:6px 14px;border-radius:var(--ld-radius-sm);transition:color .2s,background .2s}.nav-link[data-v-32774dcf]:hover{color:var(--fg);background:var(--bg-mid)}.nav-link.active[data-v-32774dcf]{color:var(--orange);border-bottom:2px solid var(--orange)}.header-right[data-v-32774dcf]{flex:1;display:flex;justify-content:flex-end;align-items:center;margin-left:var(--ld-sp-8);min-width:0}.app-main[data-v-32774dcf]{height:calc(100vh - 64px);overflow:hidden}:root{--bg-darkest: #1d2021;--bg-dark: #282828;--bg-mid: #3c3836;--bg-light: #504945;--fg: #ebdbb2;--fg-dim: #a89984;--fg-bright: #fbf1c7;--red: #fb4934;--green: #b8bb26;--yellow: #fabd2f;--blue: #83a598;--purple: #d3869b;--aqua: #8ec07c;--orange: #fe8019;--font-display: "ZCOOL QingKe HuangYou", cursive;--font-mono: "JetBrains Mono", "Noto Sans SC", monospace;--font-body: "Noto Sans SC", sans-serif;--ld-sp-1: 4px;--ld-sp-2: 8px;--ld-sp-3: 12px;--ld-sp-4: 16px;--ld-sp-5: 20px;--ld-sp-6: 24px;--ld-sp-8: 32px;--ld-sp-10: 40px;--ld-radius-sm: 6px;--ld-radius-md: 10px;--ld-radius-lg: 14px;--ld-panel-border: 1px solid var(--bg-light);--ld-shadow-panel: 0 4px 12px rgba(0, 0, 0, .3);--terminal-bg: #0c0c0c;--terminal-prompt-user: #00ff00;--terminal-prompt-path: #00bfff;--terminal-text: #cccccc;--terminal-error: #ff5555;--terminal-cursor: #ffffff;--ld-panel-gap: 8px;--ld-panel-padding: 12px;--ld-terminal-radius: 4px;--ld-content-radius: 6px;--ld-progress-done: #b8bb26;--ld-progress-current: #fe8019;--ld-progress-locked: #504945}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-mono);font-size:14px;line-height:1.65;color:var(--fg);min-height:100vh;background:radial-gradient(1100px 520px at 88% -12%,rgba(254,128,25,.055),transparent 62%),radial-gradient(900px 620px at -8% 112%,rgba(142,192,124,.045),transparent 60%),var(--bg-darkest);background-attachment:fixed}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-light);border-radius:6px;border:2px solid var(--bg-dark)}::-webkit-scrollbar-thumb:hover{background:var(--fg-dim)}.markdown-body{background:transparent!important;color:var(--fg)!important;font-family:var(--font-body)!important;font-size:15px!important;line-height:1.85!important;word-wrap:break-word;overflow-wrap:break-word;min-width:0}.markdown-body *{max-width:100%}.markdown-body p{margin-bottom:14px!important;word-break:break-word}.markdown-body code{font-family:var(--font-mono)!important;background:var(--bg-mid)!important;color:var(--aqua)!important;padding:2px 7px;border-radius:4px;word-break:break-all}.markdown-body pre{background:var(--bg-darkest)!important;border:1px solid var(--bg-light);border-radius:8px;padding:14px 16px!important;margin-bottom:16px!important;overflow-x:auto;max-width:100%}.markdown-body pre code{background:transparent!important;padding:0;word-break:normal;white-space:pre}.markdown-body h1,.markdown-body h2,.markdown-body h3{color:var(--orange)!important;border-color:var(--bg-light)!important;margin-top:22px!important;margin-bottom:12px!important}.markdown-body ul,.markdown-body ol{margin-bottom:14px!important;padding-left:20px}.markdown-body li+li{margin-top:6px!important}.markdown-body li{word-break:break-word}.markdown-body table{max-width:100%;border-collapse:collapse}.markdown-body table th{background:var(--bg-mid)!important}.markdown-body table td,.markdown-body table th{border-color:var(--bg-light)!important;padding:8px 14px!important}.markdown-body a{color:var(--aqua)!important;word-break:break-all}.markdown-body blockquote{border-left-color:var(--orange)!important;color:var(--fg-dim)!important;padding:4px 18px!important;margin-bottom:16px!important}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes particle-fall{0%{transform:translateY(-100px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes check-pop{0%{transform:scale(0)}50%{transform:scale(1.3)}to{transform:scale(1)}}
