:root{--bg:#f7f5f1;--surface:#efebe4;--ink:#1d1b18;--muted:#69635a;--faint:#d9d3c9;--accent:#cf3f1e;--accent-ink:#fff;--sel:#f4c9bb;--serif:"Gloock", "Iowan Old Style", Georgia, serif;--sans:"Bricolage Grotesque", ui-sans-serif, system-ui, sans-serif;--script:"Mea Culpa", "Snell Roundhand", cursive;--spring:linear(0, .009, .035 2.1%, .141, .281 6.7%, .723 12.9%, .938 16.7%, 1.017, 1.077, 1.121, 1.149 24.3%, 1.159, 1.163, 1.161, 1.154 29.9%, 1.129 32.8%, 1.051 39.6%, 1.017 43.1%, .991, .977 51%, .974 53.8%, .975 57.1%, .997 69.8%, 1.003 76.9%, 1);--out:cubic-bezier(.16, 1, .3, 1);color-scheme:light}[data-theme=dark]{--bg:#171513;--surface:#221f1c;--ink:#ece7df;--muted:#a69d91;--faint:#3a352f;--accent:#ff6d48;--accent-ink:#1d1b18;--sel:#6a2c1d;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--faint) var(--bg);-webkit-text-size-adjust:100%;font-size:112.5%}body{background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;caret-color:var(--accent);margin:0}h1,h2,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;padding:0}::selection{background:var(--sel);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}p{text-wrap:pretty}a{color:inherit;text-decoration:underline;text-decoration-color:var(--faint);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s,color .2s}a:hover{text-decoration-color:var(--accent)}.arrow{width:.62em;height:.62em;transition:transform .45s var(--spring);background:currentColor;margin-left:.18em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 8 8 2M3.5 2H8v4.5' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2 8 8 2M3.5 2H8v4.5' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}a:hover .arrow{transform:translate(2px,-2px)}.skip{background:var(--ink);color:var(--bg);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-60px;left:16px}.skip:focus{top:16px}.col{max-width:880px;margin:0 auto;padding:clamp(64px,12vh,128px) 24px 64px}.theme{z-index:5;width:40px;height:40px;color:var(--muted);transition:color .2s, background-color .2s, transform .5s var(--spring);border-radius:50%;place-items:center;display:grid;position:absolute;top:20px;right:20px}.theme:hover{color:var(--ink);background:var(--surface)}.theme:active{transform:scale(.88)}.theme svg{overflow:visible}.theme__sun{fill:currentColor;transition:r .5s var(--spring)}.theme__rays line{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;transition:opacity .3s}.theme__rays{transform-origin:12px 12px;transition:transform .6s var(--spring)}[data-theme=dark] .theme__sun{r:7}[data-theme=dark] .theme__rays{opacity:0;transform:rotate(90deg)scale(.5)}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){animation:wipe .6s var(--out)}@keyframes wipe{0%{clip-path:circle(0 at var(--vt-x,100%) var(--vt-y,0))}to{clip-path:circle(150vmax at var(--vt-x,100%) var(--vt-y,0))}}.intro{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:48px;display:grid}.avatar{object-fit:cover;width:220px;height:220px;transition:transform .6s var(--spring);border-radius:20px;transform:rotate(2deg)}.avatar:hover{transform:rotate(-2deg)scale(1.03)}h1{font:400 clamp(60px, 41.6px + 4.4vw, 88px)/1.2 var(--script);letter-spacing:0;margin-block:-.15em .1em;padding-left:.18em}.motto{gap:6px;margin-top:28px;display:grid}.motto__zh{font-family:"PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", var(--sans);letter-spacing:.06em;font-size:1.375rem;line-height:1.4}.motto__en{color:var(--muted);font-size:1.0625rem}.links{flex-wrap:wrap;gap:4px;margin-top:24px;margin-left:-10px;display:flex}.icon-link{width:46px;height:46px;color:var(--muted);transition:color .2s, background-color .2s, transform .45s var(--spring);border-radius:12px;place-items:center;text-decoration:none;display:grid;position:relative}.icon-link svg{width:23px;height:23px}.icon-link__text{letter-spacing:.02em;font-size:1rem;font-weight:600}.icon-link:has(.icon-link__text):after{content:none}.icon-link:hover{color:var(--accent);background:var(--surface);transform:translateY(-2px)}.icon-link:active{transform:scale(.92)}.icon-link:after{content:attr(data-label);white-space:nowrap;background:var(--ink);color:var(--bg);opacity:0;pointer-events:none;transition:opacity .15s, scale .35s var(--spring);border-radius:6px;padding:3px 8px;font-size:.8125rem;position:absolute;top:calc(100% + 6px);left:50%;translate:-50%;scale:.9}.icon-link:hover:after,.icon-link:focus-visible:after{opacity:1;scale:1}.block{margin-top:88px}h2{font:400 1.625rem/1.15 var(--serif);letter-spacing:-.005em;margin-bottom:20px}.block__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 20px;margin-bottom:20px;display:flex}.block__head h2{margin-bottom:0}.prose{max-width:75ch}.prose+.prose{margin-top:14px}.prose a.pv{text-decoration-style:dotted;text-decoration-color:color-mix(in srgb, var(--accent) 70%, transparent)}.mark{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px;text-decoration-skip-ink:auto;text-decoration-thickness:2px}.empty{color:var(--muted);padding:8px 0}.filterbar{z-index:4;background:var(--bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin-bottom:8px;padding:14px 0;display:flex;position:sticky;top:0}.filterbar__status{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:12px;font-size:.8125rem;display:flex}.filterbar__clear{color:var(--accent);border-radius:6px;margin:-4px -8px;padding:4px 8px;font-size:.8125rem;font-weight:500;transition:background-color .2s}.filterbar__clear:hover{background:var(--surface)}.sub>h2{margin-top:28px}.sub{scroll-margin-top:72px}.sub+.sub{margin-top:72px}.note{color:var(--muted);margin:-10px 0 16px;font-size:.8125rem}.dagger{color:var(--accent);vertical-align:.25em;margin-left:1px;font:700 1.05em/0 Libre Baskerville,Georgia,serif}.note .dagger{margin:0 3px 0 0}.filtered__end{background:var(--faint);border:0;height:1px;margin:64px 0 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);color:var(--muted);transition:background-color .2s, color .2s, transform .45s var(--spring);border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:.8125rem;line-height:1;display:inline-flex}.chip:hover{color:var(--ink)}.chip:active{transform:scale(.93)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg)}.chip__n{font-variant-numeric:tabular-nums;opacity:.6}.filterable{transition:grid-template-rows .45s var(--out), opacity .3s, transform .45s var(--out);grid-template-rows:1fr;display:grid}.filterable__inner{min-height:0;overflow:hidden}.filterable.is-out{opacity:0;grid-template-rows:0fr;transform:translateY(-4px)}.filterable.is-out .filterable__inner{padding-block:0}.pubs{margin-inline:-14px}.pub__head{border-radius:12px;gap:4px;width:100%;padding:14px 44px 14px 14px;transition:background-color .2s;display:grid;position:relative}.pub__head:hover,.pub.is-open .pub__head{background:var(--surface)}.pub__title{text-wrap:pretty;font-weight:500;line-height:1.4}.pub__meta{color:var(--muted);order:-1;align-items:center;gap:8px;font-size:.875rem;display:flex}.pub__authors{color:var(--muted);font-size:.875rem}.pub__authors strong{color:var(--ink);font-weight:500}.badge{background:var(--surface);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:.8125rem}.pub__head:hover .badge,.pub.is-open .badge{background:var(--bg)}.badge--hot{color:color-mix(in srgb, var(--accent) 82%, var(--ink));background:color-mix(in srgb, var(--accent) 12%, transparent)!important}.pub__chev{width:16px;height:16px;transition:transform .5s var(--spring);border-radius:50%;position:absolute;top:20px;right:16px}.pub__chev:before,.pub__chev:after{content:"";background:var(--muted);height:1.5px;transition:transform .5s var(--spring);border-radius:1px;position:absolute;top:7.25px;left:3px;right:3px}.pub__chev:after{transform:rotate(90deg)}.pub.is-open .pub__chev{transform:rotate(180deg)}.pub.is-open .pub__chev:after{transform:rotate(0)}.pub__panel{transition:grid-template-rows .5s var(--out);grid-template-rows:0fr;display:grid}.pub.is-open .pub__panel{grid-template-rows:1fr}.pub__panel-inner{min-height:0;padding:0 14px;overflow:hidden}.pub__summary{opacity:0;max-width:70ch;transition:opacity .3s, transform .5s var(--out);padding-top:10px;transform:translateY(-6px)}.pub.is-open .pub__summary{opacity:1;transition-delay:80ms;transform:none}.abs{padding-top:10px}.abs__toggle{color:var(--accent);align-items:center;gap:6px;padding:2px 0;font-size:.8125rem;font-weight:500;display:inline-flex}.abs__toggle:after{content:"";width:.5em;height:.5em;transition:transform .45s var(--spring);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-2px)rotate(45deg)}.abs.is-open .abs__toggle:after{transform:translateY(1px)rotate(-135deg)}.abs__body{transition:grid-template-rows .5s var(--out);grid-template-rows:0fr;display:grid}.abs.is-open .abs__body{grid-template-rows:1fr}.abs__inner{min-height:0;overflow:hidden}.abs__inner p{max-width:70ch;color:var(--muted);margin-top:10px;font-size:.9375rem;line-height:1.65}.pub__actions{flex-wrap:wrap;gap:8px;padding:14px 0 18px;display:flex}.pub__panel-inner>:last-child:not(.pub__actions){padding-bottom:18px}.pill{background:var(--surface);transition:background-color .2s, color .2s, transform .45s var(--spring);border-radius:999px;align-items:center;padding:6px 12px;font-size:.8125rem;text-decoration:none;display:inline-flex}.pill:hover{background:var(--ink);color:var(--bg)}.pill:active{transform:scale(.94)}.pill.is-done{background:var(--accent);color:var(--accent-ink)}.rows{display:grid}.row__grid{grid-template-columns:104px minmax(0,1fr);gap:16px;padding-block:10px;display:grid}.row--tight{padding-block:6px}.row__when{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;padding-top:2px;font-size:.875rem;display:flex}.expected{color:var(--muted);font-size:.75rem;font-style:italic}.details{gap:1px;margin-top:2px;display:grid}.details li{color:var(--muted);font-size:.9375rem}.live{color:var(--accent);align-items:center;gap:6px;font-size:.8125rem;font-weight:500;display:inline-flex}.live:before{content:"";background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent);animation:pulse 2.2s var(--out) infinite;border-radius:50%}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 45%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}.row__what,.row__what a{font-weight:500}.row__what--split{justify-content:space-between;gap:16px;font-weight:400;display:flex}.row__with{color:var(--ink);margin-top:2px;font-size:.9375rem}.row__with a{font-weight:400}.amount{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.row__note{color:var(--muted);max-width:68ch;margin-top:2px;font-size:.9375rem}a.pv{text-decoration-style:dotted}.timeline{--rail-x:126px;--dot-y:24px}.timeline .row__grid{column-gap:44px;position:relative}.timeline .row:before{content:"";left:calc(var(--rail-x) - .5px);background:color-mix(in srgb, var(--muted) 35%, var(--bg));width:1px;position:absolute;top:0;bottom:0}.timeline .row:first-child:before{top:var(--dot-y)}.timeline .row:last-child:before{bottom:calc(100% - var(--dot-y))}.timeline .row:after{content:"";left:calc(var(--rail-x) - 5px);top:calc(var(--dot-y) - 5px);background:var(--bg);width:10px;height:10px;box-shadow:inset 0 0 0 1.5px var(--muted);transition:transform .45s var(--spring);border-radius:50%;position:absolute}.timeline .row.is-ongoing:after{background:var(--accent);box-shadow:0 0 0 3px var(--bg)}.timeline .row:hover:after{transform:scale(1.3)}.shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px;display:grid}.record__hit{aspect-ratio:1;outline-offset:4px;text-decoration:none;display:block;position:relative}.record__sleeve{z-index:1;background:var(--sleeve);transition:transform .6s var(--spring);border-radius:6px;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #00000014,0 8px 24px -12px #00000059}.record__sleeve img{object-fit:cover;width:100%;height:100%}.record__art{font:400 1.25rem/1 var(--serif);color:#ffffffeb;align-items:flex-end;padding:12px;display:flex;position:absolute;inset:0}.record__vinyl{z-index:0;transition:transform .7s var(--spring);position:absolute;inset:4%}.record__vinyl svg{width:100%;height:100%;animation:2.4s linear infinite paused spin;display:block}.v-disc{fill:#151311}.v-groove{fill:none;stroke:#2a2723;stroke-width:.6px}.v-label{fill:var(--sleeve)}.v-hole{fill:var(--bg)}.v-shine{fill:none;stroke:#ffffff2e;stroke-width:6px;stroke-linecap:round}.record__hit:hover .record__vinyl,.record__hit:focus-visible .record__vinyl{transform:translate(42%)}.record__hit:hover .record__vinyl svg,.record__hit:focus-visible .record__vinyl svg{animation-play-state:running}.record__hit:hover .record__sleeve,.record__hit:focus-visible .record__sleeve{transform:translate(-8%)rotate(-2deg)}@keyframes spin{to{transform:rotate(360deg)}}.record__cap{margin-top:12px;font-size:.875rem;display:grid}.record__cap span:last-child{color:var(--muted)}.vis__toggle{box-sizing:content-box;border-radius:12px;align-items:baseline;gap:14px;width:100%;margin:-6px -12px;padding:6px 12px;transition:background-color .2s;display:flex}.vis__toggle:hover{background:var(--surface)}.vis__toggle h2{margin:0}.vis__hint{color:var(--accent);font-size:.875rem;font-weight:500}.vis__chev{width:.45em;height:.45em;color:var(--accent);transition:transform .45s var(--spring);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-3px)rotate(45deg)}.vis.is-open .vis__chev{transform:translateY(0)rotate(-135deg)}.vis__panel{transition:grid-template-rows .55s var(--out);grid-template-rows:0fr;display:grid}.vis.is-open .vis__panel{grid-template-rows:1fr}.vis__inner{min-height:0;overflow:hidden}.vis__inner>.prose{margin-top:20px}.vis__inner>*{opacity:0;transition:opacity .35s}.vis.is-open .vis__inner>*{opacity:1;transition-delay:.1s}.visitors{background:var(--surface);border-radius:14px;min-height:120px;margin-top:20px;overflow:hidden}.visitors__local{text-align:center;color:var(--muted);padding:48px 24px;font-size:.875rem}.visitors .mapmyvisitors-map-control{margin:0 auto;text-decoration:none;display:block}.visitors .mapmyvisitors-map-container{padding-top:10px;background-color:var(--surface)!important}.visitors .mpmvs{color:var(--muted)!important;font-family:var(--sans)!important;font-size:.8125rem!important}.visitors .mapmyvisitors-visitors{font-weight:500;color:var(--ink)!important}.visitors svg circle{fill:var(--accent)!important;stroke:var(--bg)!important}.visitors .jvectormap-zoomin,.visitors .jvectormap-zoomout{border-radius:6px;background:var(--bg)!important;color:var(--ink)!important}.otc__dog{grid-template-columns:200px minmax(0,1fr);align-items:center;gap:32px;margin:56px 0 0;display:grid}.otc__dog img{object-fit:contain;transform-origin:50% 90%;width:200px;height:200px;transition:transform .6s var(--spring)}.otc__dog:hover img{transform:rotate(-4deg)scale(1.04)}.otc__dog img:active{animation:wag .5s var(--out)}@keyframes wag{25%{transform:rotate(6deg)}50%{transform:rotate(-6deg)}75%{transform:rotate(3deg)}}.otc__note{color:var(--muted);margin-top:4px;font-size:.9375rem}.otc__art{justify-items:center;gap:6px;display:grid}.otc__credit{color:var(--muted);text-align:center;font-size:.75rem}.otc__credit a{text-decoration-color:var(--faint)}.otc__credit a:hover{color:var(--accent)}@media (width<=560px){.otc__dog{grid-template-columns:120px minmax(0,1fr);gap:20px}.otc__dog img{width:120px;height:120px}}.foot{color:var(--muted);margin-top:112px;padding-top:24px;font-size:.875rem}.foot__line{flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:24px;display:flex}.sitemap__toggle{color:var(--ink);transition:background-color .2s, transform .45s var(--spring);border-radius:999px;align-items:center;gap:8px;margin-left:-14px;padding:8px 14px;font-size:.875rem;font-weight:500;display:inline-flex}.sitemap__toggle:hover{background:var(--surface)}.sitemap__toggle:active{transform:scale(.96)}.sitemap__chev{width:.45em;height:.45em;transition:transform .45s var(--spring);border-bottom:1.5px solid;border-right:1.5px solid;transform:translateY(-2px)rotate(45deg)}.sitemap.is-open .sitemap__chev{transform:translateY(1px)rotate(-135deg)}.sitemap__panel{transition:grid-template-rows .5s var(--out);grid-template-rows:0fr;display:grid}.sitemap.is-open .sitemap__panel{grid-template-rows:1fr}.sitemap__inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;min-height:0;display:grid;overflow:hidden}.sitemap__inner>div{opacity:0;transition:opacity .3s, transform .5s var(--out);padding-top:16px;transform:translateY(-6px)}.sitemap.is-open .sitemap__inner>div{opacity:1;transition-delay:80ms;transform:none}.sitemap.is-open .sitemap__inner>div+div{transition-delay:.14s}.sitemap__h{font:400 1.125rem/1.2 var(--serif);color:var(--ink);margin-bottom:10px}.sitemap ul{gap:6px;display:grid}.sitemap a{color:var(--muted);text-decoration:none;transition:color .2s}.sitemap a:hover{color:var(--accent)}.preview{z-index:20;background:var(--bg);width:310px;box-shadow:0 0 0 1px var(--faint), 0 12px 32px -8px #00000038;pointer-events:none;opacity:0;transition:opacity .18s, transform .4s var(--spring);border-radius:12px;padding:14px 16px;position:absolute;transform:scale(.94)translateY(-4px)}.preview.is-on{opacity:1;transform:none}.preview__title{font:400 1.25rem/1.15 var(--serif)}.preview__sub{color:var(--muted);margin-top:4px;font-size:.8125rem}.preview__body{margin-top:10px;font-size:.875rem;line-height:1.5}.preview__url{color:var(--accent);margin-top:10px;font-size:.8125rem}.motion .block,.motion .intro{opacity:0;transition:opacity .7s var(--out), transform .9s var(--out);transform:translateY(12px)}.motion .is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}html{scroll-behavior:auto}}@media (width<=560px){.col{padding-top:72px}.intro{grid-template-columns:1fr;gap:28px}.avatar{border-radius:16px;order:-1;width:112px;height:112px}.row__grid{grid-template-columns:1fr;gap:2px}.row__when{flex-direction:row;gap:6px}.timeline{--rail-x:5px;--dot-y:20px}.timeline .row__grid{padding-left:26px}.shelf{gap:12px}.record__hit:hover .record__vinyl{transform:translate(30%)}.block__head{display:grid}}
