@font-face{font-family:opposans;src:url(/assets/fonts/OPPOSans-R.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:opposans;src:url(/assets/fonts/OPPOSans-M.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:opposans;src:url(/assets/fonts/OPPOSans-B.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--bg:#ede1ce;--paper:#fefcf6;--frame:rgba(237, 233, 225, 0.92);--ink:#3f2f22;--muted:#8d7761;--accent:#8f5c2c;--accent-strong:#6f4219;--sidebar:rgb(251, 247, 237);--sidebar-line:rgb(228, 218, 209);--sheet-shadow:0 24px 42px rgba(89, 65, 34, 0.12);--base-font-family:"OPPOSans", "Noto Sans SC", "PingFang SC", "Hiragino Sans GB",
    "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono-font-family:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;margin:0;background:url(/assets/bg.jpg)0 0/420px repeat;color:var(--ink);font-family:var(--base-font-family);letter-spacing:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--accent-strong);font-weight:600;text-decoration:none}a:hover{color:var(--accent)}.site-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--sidebar);box-shadow:rgba(0,0,0,.1)1px 0 3px;color:rgba(99,87,83,.84);z-index:20}.sidebar-head{position:sticky;top:0;z-index:3;padding:16px 12px 12px;background:linear-gradient( 180deg,var(--sidebar) 0%,rgba(251,247,237,.98) 78%,rgba(251,247,237,.94) 100% );box-shadow:0 10px 14px rgba(251,247,237,.92)}.sidebar h1{margin:0 8px 12px;padding:0;font-size:18px;font-weight:700}.sidebar h1 a{display:inline-block;color:var(--accent-strong)}.sidebar-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin:0 6px;padding:2px;border:1px solid rgba(206,190,170,.78);border-radius:8px;background:rgba(245,239,228,.72)}.sidebar-mode-button{min-width:0;min-height:32px;border:0;border-radius:6px;background:0 0;color:rgba(99,87,83,.72);cursor:pointer;font-family:var(--base-font-family);font-size:13px;font-weight:700;letter-spacing:0}.sidebar-mode-button:hover,.sidebar-mode-button[aria-selected=true]{background:#fffbf5;color:var(--accent-strong);box-shadow:0 1px 5px rgba(89,65,34,.1)}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar-nav[hidden]{display:none}.sidebar-nav a{min-height:46px;display:block;border-bottom:1px solid var(--sidebar-line);color:rgba(99,87,83,.82);font-size:14px;line-height:1.45;overflow:hidden;padding:12px 18px 12px 26px;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav li li a{min-height:42px;background:rgba(255,251,245,.38);border-bottom-color:rgba(228,218,209,.78);color:rgba(99,87,83,.76);font-size:13px;font-weight:400;padding:10px 16px 10px 38px}.sidebar-nav-latest a{min-height:62px;padding:10px 18px 10px 26px;white-space:normal}.sidebar-post-meta,.sidebar-post-title{display:block;overflow:hidden}.sidebar-post-meta{margin-bottom:4px;color:rgba(143,92,44,.68);font-size:11px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.sidebar-post-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:13px;line-height:1.45}.sidebar-nav a:hover,.sidebar-nav a.active{background:#f1ece1;color:var(--accent-strong);box-shadow:rgba(0,0,0,3%)0 1px 4px inset}.site-main{min-width:0;padding:20px 20px 128px}.article-page{width:100%}.reader-sheet{position:relative;width:min(920px,100%);min-height:max-content;margin:0 auto 24px;padding:72px 64px 68px;overflow:hidden;background:var(--paper);box-shadow:var(--sheet-shadow)}.article-toc{position:fixed;top:24px;right:22px;z-index:12;width:236px;max-height:calc(100vh - 48px);overflow:auto;border:1px solid rgba(206,190,170,.78);border-radius:8px;background:rgba(255,250,242,.94);box-shadow:0 16px 32px rgba(89,65,34,.12);padding:14px 0 12px}.article-toc-title{margin:0 16px 10px;color:var(--accent-strong);font-size:14px;font-weight:700;line-height:1.2}.article-toc nav,.article-toc ul{margin:0;padding:0;list-style:none}.article-toc li{margin:0;padding:0}.article-toc a{display:block;border-left:2px solid transparent;color:rgba(99,87,83,.78);font-size:13px;font-weight:500;line-height:1.45;padding:7px 16px 7px 18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.article-toc-root a{color:var(--accent-strong);font-weight:700}.article-toc li li a{color:rgba(99,87,83,.62);font-size:12px;font-weight:400;padding-left:30px}.article-toc a:hover{border-left-color:rgba(143,92,44,.42);background:rgba(241,236,225,.64);color:var(--accent-strong)}.article-toc a.is-active{border-left-color:var(--accent);background:rgba(241,236,225,.82);color:var(--accent-strong);font-weight:700}.reader-sheet::before,.reader-sheet::after{content:"";position:absolute;pointer-events:none;border:1px solid var(--frame)}.reader-sheet::before{inset:8px}.reader-sheet::after{inset:13px}.reader-sheet-corner{position:absolute;width:5px;height:5px;border:1px solid rgba(237,233,225,.76);pointer-events:none}.reader-sheet-corner-top-left{left:5px;top:5px}.reader-sheet-corner-top-right{right:5px;top:5px}.reader-sheet-corner-bottom-left{left:5px;bottom:5px}.reader-sheet-corner-bottom-right{right:5px;bottom:5px}.article-header{position:relative;z-index:1;margin-bottom:32px}.article-header h1{margin:0 0 12px;color:var(--ink);font-size:34px;line-height:1.3}.article-header time{color:var(--muted);font-size:14px}.article-content{position:relative;z-index:1;color:var(--ink);font-size:16px;line-height:1.9}.article-content h1,.article-content h2,.article-content h3,.article-content h4{color:var(--ink);line-height:1.35}.article-content h1{font-size:34px}.article-content h2{margin-top:42px;font-size:26px}.article-content h3{margin-top:32px;font-size:21px}.article-content p,.article-content ul,.article-content ol,.article-content blockquote,.article-content table,.article-content pre{margin-bottom:20px}.article-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.article-content th,.article-content td{border-bottom:1px solid rgba(206,190,170,.62);padding:8px 10px;text-align:left;vertical-align:top}.article-content img{max-width:100%;height:auto;border-radius:7px}.article-content code{border-radius:4px;background:rgba(102,76,49,8%);color:#69451f;font-family:var(--mono-font-family);font-size:.92em;padding:.15em .35em}.article-content pre{overflow-x:auto;border-radius:7px;background:rgba(102,76,49,8%);padding:18px}.article-content pre code{background:0 0;padding:0}.article-content blockquote{margin-left:0;border-left:4px solid rgba(143,92,44,.28);color:rgba(63,47,34,.8);padding-left:18px}.post-list{position:relative;z-index:1;margin:0;padding:0;list-style:none}.post-list li{display:flex;gap:16px;justify-content:space-between;border-bottom:1px solid rgba(206,190,170,.72);padding:14px 0}.post-list time{flex:none;color:var(--muted);font-size:14px}.site-nav-toggle,.site-nav-button{display:none}@media(max-width:768px){.site-shell{display:block}.site-nav-button{position:fixed;z-index:40;top:11px;left:18px;width:40px;height:40px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(82,63,47,.52);background:#fffaf3;box-shadow:inset 0 1px rgba(255,255,255,.28),0 2px 10px rgba(42,29,19,.2);gap:5px}.site-nav-button span{width:18px;height:2px;background:#5a3214}.sidebar{position:fixed;left:-300px;width:300px;transition:left 180ms ease}.site-nav-toggle:checked~.site-shell .sidebar{left:0}.site-main{padding:64px 12px 72px}.reader-sheet{padding:42px 22px 48px}.article-header h1,.article-content h1{font-size:26px}.article-content{font-size:15px}.post-list li{display:block}.post-list time{display:block;margin-top:4px}}@media(min-width:1560px){.article-page.has-toc{padding-right:280px}}@media(max-width:1559px){.article-toc{display:none}}