html,body,div,header,footer,nav,li,h1,h2,h3,h4,h5,h6,p,ul,ol,section,article,aside{padding:0;margin:0;box-sizing:border-box}:root{--bg: #08111f;--bg-soft: #0f1b31;--panel: rgba(10, 19, 35, 0.82);--panel-strong: rgba(13, 24, 45, 0.96);--card: #f7f8fc;--card-muted: #edf2ff;--text: #dbe6ff;--text-strong: #0f172a;--muted: #8ea0c6;--line: rgba(148, 163, 184, 0.18);--accent: #66e2c7;--accent-strong: #1f8f7a;--warm: #ffd280;--shadow: 0 22px 60px rgba(3, 10, 24, 0.35);--radius: 24px}h1,h2,h3,h4,h5,h6{font-weight:500;color:var(--text-strong);letter-spacing:-0.03em}html{min-height:100%;scroll-behavior:smooth}body{min-height:100%;position:relative;padding-bottom:170px;font-family:"Space Grotesk", "Segoe UI", sans-serif;color:var(--text);background:radial-gradient(circle at top left, rgba(102,226,199,0.12), transparent 30%),radial-gradient(circle at top right, rgba(255,210,128,0.14), transparent 28%),linear-gradient(180deg, #0a1324 0%, #09101c 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg, rgba(255,255,255,0.4), transparent 85%)}a{text-decoration:none}button{border:none;outline:none}hr{border:0;border-top:1px solid var(--line);margin:28px 0}h1{font-size:clamp(2.4rem, 4vw, 4.3rem)}h2{font-size:clamp(1.7rem, 2.4vw, 2.5rem);margin:48px 0 20px}h3{font-size:clamp(1.35rem, 2vw, 1.8rem);margin:36px 0 14px}h4{font-size:1.2rem;margin:24px 0 10px}h5{font-size:1.05rem;margin:20px 0 8px}h6{font-size:1rem;margin:16px 0 8px}p,li{line-height:1.75}p{margin:0 0 16px}ul,ol{margin:0 0 18px 20px}blockquote{margin:0 0 24px;padding:18px 20px;border-left:4px solid var(--accent);background:rgba(102,226,199,0.08);border-radius:0 18px 18px 0}table{width:100%;margin:18px 0;border-collapse:collapse;overflow:hidden;border-radius:16px;background:#ffffff}thead{background:#0f172a;color:#eff6ff}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #e2e8f0;color:#1e293b}tbody tr:nth-of-type(2n){background:#f8fafc}img{max-width:100%;border-radius:22px}code,pre{font-family:"IBM Plex Mono", Consolas, monospace}code{padding:0.18rem 0.4rem;border-radius:8px;background:rgba(15,23,42,0.08);color:#0f172a}pre{overflow-x:auto;padding:18px 20px;border-radius:18px;background:#09111d;color:#d7e4ff;box-shadow:inset 0 0 0 1px rgba(148,163,184,0.14)}pre code{padding:0;background:transparent;color:inherit}header{position:sticky;top:0;z-index:30;backdrop-filter:blur(18px);background:rgba(7,13,25,0.72);border-bottom:1px solid rgba(148,163,184,0.16)}header a{color:var(--text);transition:0.2s ease}header .wrapper{width:1140px;margin:0 auto;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}header .brand{display:inline-flex;align-items:center;gap:12px}header .brand .brand-icon{width:28px;height:28px;border-radius:8px;display:block;flex:0 0 auto}header .brand .brand-copy{display:flex;flex-direction:column;gap:1px}header .brand strong{font-size:1rem;font-weight:700;color:#ffffff}header .brand small{color:var(--muted);font-size:0.83rem}header .menu{display:none}header .header-search{position:relative;flex:1 1 auto;max-width:360px;margin-left:auto}header .search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}header .search-input{width:100%;padding:12px 16px;border-radius:999px;border:1px solid rgba(148,163,184,0.18);background:rgba(15,23,42,0.72);color:#e2e8f0;font-size:0.95rem;transition:0.2s ease}header .search-input::placeholder{color:#94a3b8}header .search-input:focus{outline:none;border-color:rgba(102,226,199,0.35);box-shadow:0 0 0 3px rgba(102,226,199,0.08)}header .search-results{position:absolute;top:calc(100% + 10px);left:0;right:0;visibility:hidden;opacity:0;transform:translateY(-4px);transition:0.18s ease;border-radius:18px;background:rgba(10,19,35,0.98);border:1px solid rgba(148,163,184,0.16);box-shadow:var(--shadow);overflow:hidden}header .search-results-show{visibility:visible;opacity:1;transform:translateY(0)}header .search-result-item,header .search-empty{display:block;padding:14px 16px;border-bottom:1px solid rgba(148,163,184,0.1)}header .search-result-item:last-child,header .search-empty:last-child{border-bottom:0}header .search-result-item:hover{background:rgba(102,226,199,0.08)}header .search-result-title{display:block;color:#f8fafc;font-weight:600}header .search-result-meta,header .search-empty{display:block;color:#94a3b8;font-size:0.82rem;margin-top:3px}header nav ul{margin:0;display:flex;align-items:center;gap:8px;list-style:none}header nav li a{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;color:var(--muted)}header nav li a:hover,header nav li>.active{color:#ffffff;background:rgba(102,226,199,0.1);box-shadow:inset 0 0 0 1px rgba(102,226,199,0.18)}@media screen and (max-width: 1200px) and (min-width: 771px){header .wrapper{width:90%}}@media screen and (max-width: 770px){header .wrapper{width:94%;min-height:72px;position:relative;flex-wrap:wrap;padding:12px 0}header .menu{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;color:var(--text);background:rgba(148,163,184,0.1);border:1px solid rgba(148,163,184,0.18)}header .header-search{order:3;flex:1 0 100%;max-width:none;margin:0}header>.active{background:rgba(102,226,199,0.16)}header .nav-show{visibility:visible;opacity:1;transform:translateY(0)}header nav{position:absolute;right:0;top:64px;width:min(280px, 100%);visibility:hidden;opacity:0;transform:translateY(-6px);transition:0.2s ease}header nav ul{display:block;padding:10px;border-radius:18px;background:rgba(10,19,35,0.96);border:1px solid rgba(148,163,184,0.15);box-shadow:var(--shadow)}header nav li a{display:flex;margin-bottom:6px;border-radius:14px}}#markdown-toc{display:none}.page[post] .left{width:100%;float:none}.page[post] .right,.page[post] .anchor{display:none}.page[post] .post-hero h1{margin-bottom:12px}.page[post] .post-summary{max-width:48rem;font-size:1.02rem;color:#475569}.page[post] .label{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.page[post] .label-card{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#eef4ff;color:#31415f;font-size:0.9rem}.page[post] .label-card i{color:#5b6f96}.page[post] .meta-chip{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:rgba(37,99,235,0.08);color:#31415f;font-size:0.84rem}.page[post] a{color:#2563eb;transition:0.2s ease}.page[post] a:hover{color:#1d4ed8}.page[post] .left ul>h2{color:#0f172a}.page[post] .left li{color:#334155;margin:0}.page[post] article{color:#334155}@media screen and (max-width: 770px){.page[post] .left{width:100%;font-size:0.98rem}}.clearfix:after{content:"\200B";display:block;height:0;clear:both}.clearfix{*zoom:1}.eyebrow{margin-bottom:14px;color:var(--accent);font-size:0.82rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase}.page{width:1140px;margin:40px auto 0}.page .left{width:73%;float:left;padding:34px;border-radius:var(--radius);background:#f8fbff;box-shadow:var(--shadow);color:#334155}.page .left>h1,.page .left article h1,.page .left article h2,.page .left article h3,.page .left article h4,.page .left article h5,.page .left article h6{color:#0f172a}.page .left a:not([title]){word-break:break-word}.page .anchor{display:none}.page .right{float:left;width:27%;padding-left:22px}.page .right .fixed{position:fixed;top:100px}.page .right .scroll-bottom{position:absolute;bottom:190px}.page .right .side{margin-bottom:18px;padding:0 0 14px;border-radius:22px;background:var(--panel);color:var(--text);border:1px solid rgba(148,163,184,0.14);box-shadow:var(--shadow)}.page .right .side>div{padding:18px 20px 14px;border-bottom:1px solid rgba(148,163,184,0.12);font-size:0.98rem;font-weight:700;color:#ffffff}.page .right .side a{color:#d8e7ff;transition:0.2s ease}.page .right .side a:hover{color:var(--accent)}.page .right .side-body{padding:6px 20px 0}.page .right .new-articles-list{list-style:none;margin:0;padding:0}.page .right .new-articles-list li{padding:12px 0;border-bottom:1px solid rgba(148,163,184,0.1)}.page .right .new-articles-list li:last-child{border-bottom:0}.page .right .new-articles-list a{display:block;color:#e2e8f0;font-weight:600;line-height:1.45}.page .right .new-articles-date{display:block;margin-top:5px;color:#94a3b8;font-size:0.8rem}.page .right .content-ul{margin:0;padding:12px 20px 0 36px;max-height:420px;overflow-y:auto}.page .right .content-ul ul{padding-left:18px}.scribbles-lock,.scribbles-content{max-width:520px}.scribbles-lock-eyebrow{margin-bottom:0.5rem;font-size:0.85rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#6b7280}.scribbles-lock-copy{margin-bottom:1rem}.scribbles-lock-form{display:flex;flex-direction:column;gap:0.75rem;margin-bottom:0.75rem}.scribbles-lock-label{font-weight:600}.scribbles-lock-input{width:100%;max-width:240px;padding:0.7rem 0.85rem;border:1px solid #cbd5e1;border-radius:8px;font-size:1rem}.scribbles-lock-button{width:fit-content;padding:0.7rem 1rem;border:0;border-radius:8px;background:#111827;color:#fff;font-size:0.95rem;font-weight:600;cursor:pointer}.scribbles-lock-error{color:#b91c1c;font-weight:600}.career-path{margin:28px 0 32px;padding:24px 24px 14px;border-radius:26px;background:linear-gradient(135deg, rgba(15,23,42,0.97), rgba(30,41,59,0.96));box-shadow:0 20px 40px rgba(15,23,42,0.16)}.career-path .eyebrow{margin-bottom:20px;color:#66e2c7}.career-path-track{position:relative;display:grid;grid-template-columns:repeat(8, minmax(0, 1fr));gap:10px;padding-top:8px}.career-path-line,.career-path-progress{position:absolute;top:22px;left:0;height:4px;border-radius:999px}.career-path-line{width:100%;background:rgba(148,163,184,0.2)}.career-path-progress{background:linear-gradient(90deg, #66e2c7, #38bdf8);box-shadow:0 0 18px rgba(56,189,248,0.25)}.career-step{position:relative;z-index:1;padding-top:0;text-align:center}.career-step-dot{display:inline-flex;width:18px;height:18px;margin-bottom:14px;border-radius:999px;border:3px solid rgba(148,163,184,0.24);background:#0f172a}.career-step-label{display:block;color:#cbd5e1;font-size:0.82rem;line-height:1.45}.career-step.complete .career-step-dot{border-color:#66e2c7;background:#66e2c7;box-shadow:0 0 0 6px rgba(102,226,199,0.12)}.career-step.current .career-step-dot{border-color:#38bdf8;background:#ffffff;box-shadow:0 0 0 8px rgba(56,189,248,0.18)}.career-step.current .career-step-label{color:#ffffff;font-weight:700}.career-step.future .career-step-label,.career-step.upcoming .career-step-label{color:#94a3b8}.article-counter{position:fixed;left:24px;bottom:24px;z-index:950;display:inline-flex;align-items:flex-end;gap:10px;padding:12px 16px;border:1px solid rgba(148,163,184,0.22);border-radius:18px;background:rgba(15,23,42,0.92);box-shadow:0 18px 35px rgba(15,23,42,0.2);color:#e2e8f0;backdrop-filter:blur(12px)}.article-counter .article-counter-total{color:#ffffff;font-size:1.7rem;font-weight:700;line-height:1}.article-counter .article-counter-label{color:#cbd5e1;font-size:0.76rem;font-weight:700;letter-spacing:0.08em;line-height:1.2;text-transform:uppercase}.scroll-to-top{position:fixed;right:24px;bottom:24px;z-index:950;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(148,163,184,0.22);border-radius:16px;background:rgba(15,23,42,0.92);box-shadow:0 18px 35px rgba(15,23,42,0.2);color:#f8fafc;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:0.2s ease;backdrop-filter:blur(12px)}.scroll-to-top:hover{border-color:rgba(102,226,199,0.35);color:var(--accent)}.scroll-to-top-show{opacity:1;visibility:visible;transform:translateY(0)}@media screen and (max-width: 1200px) and (min-width: 771px){.page{width:90%}}@media screen and (max-width: 770px){.page{width:94%;margin-top:24px}.page .left{width:100%;padding:22px 18px;border-radius:22px;font-size:0.98rem}.page .anchor{display:inline-flex;align-items:center;justify-content:center;position:fixed;right:3%;top:92px;width:42px;height:42px;border-radius:14px;color:var(--text);background:rgba(10,19,35,0.94);box-shadow:var(--shadow)}.page .anchor-hide{opacity:0;visibility:hidden}.page .right{visibility:hidden;position:fixed;right:3%;top:145px;width:min(88vw, 320px);padding:0;opacity:0;transform:scale(0.96);transform-origin:top right;transition:0.2s ease}.page .right-show{z-index:999;visibility:visible;opacity:1;transform:scale(1)}.career-path{padding:20px 16px 10px}.career-path-track{grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px 14px;padding-top:0}.career-path-line,.career-path-progress{display:none}.career-step{padding:12px 10px;border-radius:18px;background:rgba(148,163,184,0.08)}.career-step-dot{margin-bottom:10px}.article-counter{left:16px;bottom:16px;gap:8px;padding:10px 13px}.article-counter .article-counter-total{font-size:1.35rem}.article-counter .article-counter-label{font-size:0.68rem}.scroll-to-top{right:16px;bottom:16px;width:44px;height:44px}}code{padding:1px 4px;margin:0 2px;font-size:90%;border-radius:3px;color:#000;background-color:rgba(0,0,0,0.06);border:1px solid #d7d0d2;font-family:Monaco,Menlo,"Microsoft YaHei Mono",Consolas,"Courier New",monospace,sans-serif}pre{margin:12px 0;padding:8px 12px;word-wrap:break-word;white-space:-moz-pre-wrap;white-space:pre-wrap}pre>code{margin:0;padding:0;font-size:13px;color:#d1d1c9;border:none;background-color:#272822}.highlight{border-radius:3px;background:#272822}.highlight .hll{background-color:#272822}.highlight .c{color:#75715e}.highlight .err{color:#960050;background-color:#1e0010}.highlight .k{color:#66d9ef}.highlight .l{color:#ae81ff}.highlight .n{color:#f8f8f2}.highlight .o{color:#f92672}.highlight .p{color:#f8f8f2}.highlight .cm{color:#75715e}.highlight .cp{color:#75715e}.highlight .c1{color:#75715e}.highlight .cs{color:#75715e}.highlight .ge{font-style:italic}.highlight .gs{font-weight:bold}.highlight .kc{color:#66d9ef}.highlight .kd{color:#66d9ef}.highlight .kn{color:#f92672}.highlight .kp{color:#66d9ef}.highlight .kr{color:#66d9ef}.highlight .kt{color:#66d9ef}.highlight .ld{color:#e6db74}.highlight .m{color:#ae81ff}.highlight .s{color:#e6db74}.highlight .na{color:#a6e22e}.highlight .nb{color:#f8f8f2}.highlight .nc{color:#a6e22e}.highlight .no{color:#66d9ef}.highlight .nd{color:#a6e22e}.highlight .ni{color:#f8f8f2}.highlight .ne{color:#a6e22e}.highlight .nf{color:#a6e22e}.highlight .nl{color:#f8f8f2}.highlight .nn{color:#f8f8f2}.highlight .nx{color:#a6e22e}.highlight .py{color:#f8f8f2}.highlight .nt{color:#f92672}.highlight .nv{color:#f8f8f2}.highlight .ow{color:#f92672}.highlight .w{color:#f8f8f2}.highlight .mf{color:#ae81ff}.highlight .mh{color:#ae81ff}.highlight .mi{color:#ae81ff}.highlight .mo{color:#ae81ff}.highlight .sb{color:#e6db74}.highlight .sc{color:#e6db74}.highlight .sd{color:#e6db74}.highlight .s2{color:#e6db74}.highlight .se{color:#ae81ff}.highlight .sh{color:#e6db74}.highlight .si{color:#e6db74}.highlight .sx{color:#e6db74}.highlight .sr{color:#e6db74}.highlight .s1{color:#e6db74}.highlight .ss{color:#e6db74}.highlight .bp{color:#f8f8f2}.highlight .vc{color:#f8f8f2}.highlight .vg{color:#f8f8f2}.highlight .vi{color:#f8f8f2}.highlight .il{color:#ae81ff}.highlight .gu{color:#75715e}.highlight .gd{color:#f92672}.highlight .gi{color:#a6e22e}.page-index{width:820px}.page-index .left{width:100%;float:none;padding:40px}.page-index .homepage-rail{position:fixed;top:132px;right:24px;width:170px}.page-index .homepage-rail .side{border-radius:22px;background:var(--panel);color:var(--text);border:1px solid rgba(148,163,184,0.14);box-shadow:var(--shadow)}.page-index .homepage-rail .side>div{padding:18px 20px 14px;border-bottom:1px solid rgba(148,163,184,0.12);font-size:0.98rem;font-weight:700;color:#ffffff}.page-index .homepage-rail .side-body{padding:6px 20px 0}.page-index .homepage-rail .new-articles-list{list-style:none;margin:0;padding:0}.page-index .homepage-rail .new-articles-list li{padding:12px 0;border-bottom:1px solid rgba(148,163,184,0.1)}.page-index .homepage-rail .new-articles-list li:last-child{border-bottom:0}.page-index .homepage-rail .new-articles-list a{display:block;color:#e2e8f0;font-weight:600;line-height:1.45}.page-index .homepage-rail .new-articles-date{display:block;margin-top:5px;color:#94a3b8;font-size:0.8rem}.page-index .directory-home h1{margin:0 0 12px;font-size:clamp(1.9rem, 3vw, 2.7rem)}.page-index .directory-intro{margin-bottom:28px;color:#475569;font-size:1.02rem}.page-index .directory-list{display:flex;flex-direction:column;gap:14px}.page-index .directory-entry{display:block;padding:18px 20px;border-radius:18px;border:1px solid rgba(148,163,184,0.2);background:#ffffff;transition:border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease}.page-index .directory-entry:hover{transform:translateY(-1px);border-color:rgba(37,99,235,0.28);box-shadow:0 12px 24px rgba(15,23,42,0.08)}.page-index .directory-name{display:block;margin-bottom:4px;color:#0f172a;font-size:1.05rem;font-weight:700}.page-index .directory-copy{display:block;color:#64748b}@media screen and (max-width: 900px){.page-index{width:94%}}@media screen and (max-width: 1499px){.page-index .homepage-rail{display:none}}@media screen and (max-width: 770px){.page-index .left{width:100%;float:none;padding:24px 18px}.page-index .homepage-rail{display:none}}.site-footer{position:absolute;right:0;bottom:0;left:0;border-top:1px solid rgba(148,163,184,0.14);background:rgba(7,13,25,0.88);backdrop-filter:blur(12px)}.site-footer .wrapper{width:1140px;margin:0 auto;padding:20px 0 24px;text-align:center;color:var(--muted);font-size:0.95rem}.site-footer p{margin:0 0 10px}.site-footer .contact{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.site-footer .contact a{color:#e5efff}.site-footer .power{color:#8ea0c6;margin-bottom:0}@media screen and (max-width: 1200px) and (min-width: 771px){.site-footer .wrapper{width:90%}}@media screen and (max-width: 770px){.site-footer .wrapper{width:92%}}.content-ul::-webkit-scrollbar{width:7px;height:6px}.content-ul::-webkit-scrollbar-button{width:0;height:0}.content-ul::-webkit-scrollbar-thumb{background:#D3D3D3;border:0 none #ffffff;border-radius:50px}.content-ul::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.content-ul::-webkit-scrollbar-thumb:active{background:#787878}.content-ul::-webkit-scrollbar-track{background:#F1F1F1;border-radius:50px}.content-ul::-webkit-scrollbar-track:hover{background:#e2e2e2}.content-ul::-webkit-scrollbar-track:active{background:#cccccc}.content-ul::-webkit-scrollbar-corner{background:transparent}
