@font-face{font-family:Instrument Serif;src:url(/assets/fonts/instrument-serif.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light dark;--bg:#f2efe6;--card:#fffdf8;--card-hover:#faf7ef;--ink:#241f1a;--dim:#241f1a99;--dim2:#241f1a6b;--hair:#241f1a17;--accent:#c8452c;--card-press:#f0e4d1;--shadow:0 1px 2px #241f1a0f, 0 12px 30px -18px #241f1a47;--shadow-lift:0 2px 5px #241f1a12, 0 20px 42px -20px #241f1a61;--grain:.07;--ease:cubic-bezier(.22, 1, .36, 1);--bounce:cubic-bezier(.34, 1.56, .64, 1);--ui:"Noto Sans CJK SC", "Source Han Sans SC", "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#1a1714;--card:#241f1b;--card-hover:#2b2521;--ink:#ece5d8;--dim:#ece5d899;--dim2:#ece5d86b;--hair:#ece5d81a;--accent:#e0664e;--card-press:#3a312a;--shadow:0 1px 2px #0000004d, 0 12px 30px -18px #000000a6;--shadow-lift:0 2px 5px #00000057, 0 20px 42px -20px #000000b3;--grain:.05}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:#c8452c1f;scroll-behavior:smooth}.pill,.chip,.nav a,.ncard{-webkit-tap-highlight-color:transparent}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:var(--ui);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}body:before{content:"";z-index:1;pointer-events:none;opacity:var(--grain);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>");position:fixed;inset:0}.page{z-index:2;max-width:640px;margin:0 auto;padding:64px 20px 80px;position:relative}.hero h1{font-family:"Instrument Serif", var(--ui);letter-spacing:.01em;font-size:40px;font-weight:400;line-height:1.15}.hero-sub{color:var(--dim);margin-top:6px;font-size:15px}.shell{margin-top:34px}.nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;margin-bottom:24px;padding-bottom:2px;display:flex;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{border:1px solid var(--hair);background:var(--card);color:var(--dim);transition:background .25s var(--ease), border-color .25s var(--ease), color .25s var(--ease);border-radius:999px;flex:none;padding:6px 14px;font-size:13px;text-decoration:none}.nav a.on{border-color:var(--accent);background:var(--accent);color:#fff}.nav .n{opacity:.7;margin-left:6px;font-size:11.5px}.notes>.section:not([hidden])+.section:not([hidden]){margin-top:40px}.section.is-in{animation:section-in .2s var(--ease)}@keyframes section-in{0%{opacity:0}to{opacity:1}}.section{scroll-margin-top:24px}.section-title{color:var(--dim);margin:0 4px 10px;font-size:13px;font-weight:600}.ngrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:14px;display:grid}.ncard{background:var(--card);box-shadow:var(--shadow);transition:transform .42s var(--ease), box-shadow .42s var(--ease), background .25s var(--ease);border-radius:14px;flex-direction:column;padding:18px 18px 16px;display:flex;position:relative}.ncard:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.ntitle{letter-spacing:-.005em;color:inherit;transition:color .3s var(--ease);align-self:flex-start;font-size:17.5px;font-weight:600;text-decoration:none}.ntitle:after{content:"";position:absolute;inset:0}.ncard:hover .ntitle{color:var(--accent)}.nmeta{color:var(--dim2);margin-top:6px;font-size:12.5px}.ntags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.tag{border:1px solid var(--hair);white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--dim);border-radius:999px;padding:2px 9px;font-size:11.5px;overflow:hidden}.natts{z-index:1;border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:6px;margin-top:14px;padding-top:12px;display:flex;position:relative}.natts .label{color:var(--dim2);flex:none;margin-right:2px;font-size:11px}.chip{border:1px solid var(--hair);background:var(--card-hover);color:var(--dim);white-space:nowrap;text-overflow:ellipsis;max-width:100%;transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);border-radius:999px;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-block;overflow:hidden}.chip:hover{border-color:var(--accent);color:var(--accent)}.natts.is-collapsible{flex-wrap:nowrap;overflow:hidden}.natts.is-collapsible .chip,.natts.is-collapsible .label{flex:none}.natts.is-collapsible .chip{max-width:calc(100% - 78px)}.natts.is-open{flex-wrap:wrap;overflow:visible}.natts .is-off{display:none}.chip-more{font:inherit;cursor:pointer;color:var(--accent);border-color:var(--accent);background:0 0;flex:none;font-size:12px}.chip-more:hover{background:var(--card-hover)}.ncard.is-pressed{background:var(--card-press)}.chip.is-pressed,.nav a.is-pressed{background:var(--card-press);color:var(--ink);border-color:#0000}.chip-more.is-pressed{border-color:var(--accent);background:var(--accent);color:#fff}.site-footer{text-align:center;margin-top:48px}.notfound{z-index:2;justify-content:center;align-items:center;min-height:100vh;padding:32px 20px;display:flex;position:relative}.card{background:var(--card);box-shadow:var(--shadow);border-radius:14px;overflow:hidden}.notfound-card{text-align:center;width:100%;max-width:460px;padding:46px 38px 40px}.notfound-code{font-family:"Instrument Serif", var(--ui);letter-spacing:.02em;color:var(--accent);font-size:clamp(4.5rem,14vw,7rem);font-weight:400;line-height:1}.notfound h1{margin-top:22px;font-size:clamp(1.15rem,4vw,1.35rem);font-weight:600;line-height:1.5}.notfound-note{color:var(--dim);margin-top:10px;font-size:14.5px;line-height:1.7}.pill{background:var(--accent);color:#fff;transition:transform .42s var(--bounce);border-radius:999px;padding:9px 22px;font-size:14.5px;text-decoration:none;display:inline-block}.pill:hover,.pill:focus-visible{transform:scale(1.08)}.pill:active{transition-duration:.11s;transform:scale(.94)}.notfound-back{margin-top:30px}@media (width>=900px){.page{max-width:940px;padding:76px 34px 96px}.hero h1{font-size:48px}.shell.has-nav{grid-template-columns:176px 1fr;align-items:start;gap:48px;display:grid}.shell.has-nav .nav{flex-direction:column;gap:2px;margin-bottom:0;padding-bottom:0;position:sticky;top:68px;overflow:visible}.shell.has-nav .nav a{background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:baseline;padding:8px 12px;font-size:14px;display:flex}.shell.has-nav .nav a.on{background:var(--accent);color:#fff}.shell.has-nav .nav a:not(.on):hover{background:var(--card-hover);color:var(--ink)}.shell.has-nav .nav .n{opacity:.55;font-size:11.5px}.section{scroll-margin-top:20px}.site-footer{text-align:left;margin:0}.site-footer .pill{position:absolute;top:86.5px;right:34px}}@media (width<=560px){.page{padding:40px 14px 56px}.hero h1{font-size:32px}.notfound{padding:24px 16px}.notfound-card{padding:34px 22px 30px}}@media (pointer:coarse){.ncard:hover{box-shadow:var(--shadow);transform:none}.ncard:hover .ntitle{color:inherit}.chip:hover{border-color:var(--hair);color:var(--dim)}.chip-more:hover{border-color:var(--accent);color:var(--accent);background:0 0}.ncard,.chip,.nav a{transition-duration:.1s}.pill{padding:12px 24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.section.is-in{animation:none}.ncard{transition:none}.ncard:hover,.pill:hover,.pill:focus-visible,.pill:active{transform:none}}
