:root{color-scheme:light;--bg:#fff;--ink:#1a1a1a;--text:#2a2a2a;--muted:#5c5c5c;--soft-text:#4a5a53;--line:#e6e6e3;--border:#d4d4d0;--surface:#fff;--code-bg:#f4f4f1;--pre-bg:#16181a;--card-hover:#f6fbf8;--header-bg:#ffffffe0;--green:#0e7a5a;--green-deep:#0b5e45;--green-soft:#eef6f2;--green-mid:#cdebdd;--green-hl:#9fd4bc;--hl-text:#0b3d2c;--on-green:#fff;--shadow:#0e7a5a2e;--mono:"JetBrains Mono", ui-monospace, monospace;--sans:"Noto Sans SC", system-ui, -apple-system, sans-serif}:root[data-theme=dark]{color-scheme:dark;--bg:#111513;--ink:#e8ece9;--text:#d3d9d5;--muted:#9aa39e;--soft-text:#a9b8b0;--line:#252b28;--border:#36403b;--surface:#1a201d;--code-bg:#1e2421;--pre-bg:#0b0e0d;--card-hover:#15201b;--header-bg:#111513d9;--green:#4cc38a;--green-deep:#7fd9ae;--green-soft:#16251e;--green-mid:#1f3b2f;--green-hl:#4cc38a52;--hl-text:#e8ece9;--on-green:#0a1f15;--shadow:#0006}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;transition:background-color .3s,color .3s}a{color:var(--ink)}a:hover{color:var(--green)}::selection{background:var(--green-mid);color:var(--hl-text)}:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:4px}.wrap{max-width:1040px;margin:0 auto;padding-inline:24px}.site-header{border-bottom:1px solid var(--line);background:var(--header-bg);backdrop-filter:blur(8px);z-index:10;position:sticky;top:0}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-block:12px;display:flex}.logo{align-items:center;gap:12px;min-height:44px;text-decoration:none;display:flex}.logo-mark{transition:transform .6s cubic-bezier(.3,1.6,.5,1)}.logo:hover .logo-mark{transform:rotate(-18deg)scale(1.08)}.logo-text{flex-direction:column;line-height:1.2;display:flex}.logo-name{color:var(--ink);font-size:18px;font-weight:700}.logo-slogan{font-family:var(--mono);color:var(--muted);font-size:12px}.nav{flex-wrap:wrap;align-items:center;gap:4px;font-size:15px;display:flex}.nav-link{align-items:center;gap:6px;padding:12px 14px;text-decoration:none;display:inline-flex;position:relative}.nav-link:after{content:"";background:var(--green);transform-origin:0;border-radius:2px;height:2px;transition:transform .3s;position:absolute;bottom:8px;left:14px;right:14px;transform:scaleX(0)}.nav-link:hover:after,.nav-link[aria-current=page]:after{transform:scaleX(1)}.btn{border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn:hover{box-shadow:0 8px 20px var(--shadow);transform:translateY(-2px)}.btn-dark{background:var(--ink);color:var(--bg)}.btn-dark:hover{color:var(--bg)}.btn-green{background:var(--green);color:var(--on-green)}.btn-green:hover{color:var(--on-green)}.btn-ghost{border:1px solid var(--border)}.tag{background:var(--green-soft);color:var(--green-deep);border-radius:999px;padding:3px 10px;font-size:13px;text-decoration:none;transition:background-color .2s;display:inline-block}.tag:hover{background:var(--green-mid);color:var(--green-deep)}.chip{border:1px solid var(--border);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:15px;text-decoration:none;transition:background-color .25s,border-color .25s,color .25s,transform .25s;display:inline-flex}.chip:hover{background:var(--green-soft);border-color:var(--green);color:var(--green-deep);transform:translateY(-2px)}.chip span{font-family:var(--mono);color:var(--muted);font-size:13px}.section-head{border-bottom:2px solid var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:16px;display:flex}.section-head h2,.h2{align-items:center;gap:10px;margin:0;font-size:24px;font-weight:700;display:flex}.row{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px 32px;padding:28px 0;transition:transform .3s;display:flex}.row:hover{transform:translate(6px)}.row time{font-family:var(--mono);color:var(--muted);flex:0 0 120px;padding-top:5px;font-size:14px;transition:color .3s}.row:hover time{color:var(--green)}.row-body{flex-direction:column;flex:999 420px;gap:10px;min-width:0;display:flex}.row h3{margin:0;font-size:21px;font-weight:700;line-height:1.45}.row h3 a{text-decoration:none}.ul{background-image:linear-gradient(var(--green-hl), var(--green-hl));background-position:0 92%;background-repeat:no-repeat;background-size:0% 40%;transition:background-size .4s,color .2s}.row:hover .ul{color:var(--hl-text);background-size:100% 40%}.arrow{color:var(--green);opacity:0;margin-left:8px;transition:opacity .3s,transform .3s;display:inline-block;transform:translate(-8px)}.row:hover .arrow{opacity:1;transform:none}.row p{color:var(--muted);margin:0;font-size:16px;line-height:1.75}.meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.site-footer{border-top:1px solid var(--line)}.site-footer .wrap{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:32px;font-size:14px;display:flex}.site-footer a{color:var(--muted)}.leaf-sway{transform-origin:85% 90%;animation:7s ease-in-out infinite sway}@keyframes sway{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.theme-toggle{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;align-self:stretch;margin:0;font-size:15px}.theme-toggle:hover{color:var(--green)}.theme-toggle svg{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}.theme-toggle:hover svg{transform:rotate(-30deg)}.theme-toggle .moon,:root[data-theme=dark] .theme-toggle .sun{display:none}:root[data-theme=dark] .theme-toggle .moon{display:block}.footer-motto{justify-content:center!important;padding-top:40px!important;padding-bottom:0!important}.motto-block{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.motto{color:var(--ink);letter-spacing:.04em;cursor:default;margin:0;font-family:Zhi Mang Xing,cursive;line-height:1.5;transition:color .4s}.motto:hover{color:var(--soft-text)}.motto .ge{transition:color .4s,transform .4s;display:inline-block;position:relative}.motto:hover .ge{color:var(--green);transform:translateY(-2px)}.motto .note{color:var(--green);opacity:0;pointer-events:none;transition:opacity .4s,transform .6s cubic-bezier(.3,1.6,.5,1);position:absolute;top:-6px;left:70%;transform:translateY(6px)rotate(0)}.motto:hover .note{opacity:1;transform:translate(6px,-12px)rotate(12deg)}.motto-en{color:var(--muted);margin:0;font-size:14px;font-style:italic;transition:color .4s}.motto-block:hover .motto-en{color:var(--green)}
