*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.\!m-0{margin:0!important}.\!mb-1{margin-bottom:.25rem!important}.\!mt-0{margin-top:0!important}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.h-12{height:3rem}.h-auto{height:auto}.w-12{width:3rem}.w-full{width:100%}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-x-4{column-gap:1rem}.gap-y-1{row-gap:.25rem}.break-words{overflow-wrap:break-word}.rounded-sm{border-radius:.125rem}.border-y{border-top-width:1px;border-bottom-width:1px}.border-stone-200{--tw-border-opacity:1;border-color:rgb(231 229 228/var(--tw-border-opacity,1))}.object-cover{object-fit:cover}.py-3{padding-top:.75rem;padding-bottom:.75rem}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.\!text-base{font-size:1rem!important;line-height:1.5rem!important}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.tracking-wider{letter-spacing:.05em}.text-\[rgb\(0\2c 0\2c 0\2c 0\.6\)\]{color:rgb(0,0,0,.6)}.text-foreground{color:var(--foreground)}.text-secondary{color:var(--secondary)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--background:#F7F4EE;--paper:#FFFCF8;--foreground:#302D29;--secondary:#756E66;--link:#947966;--link-hover:#705747;--border:#D9CFC0;--sage:#7D8978;--shadow-ink:color-mix(in srgb,var(--foreground) 7%,transparent);--font-cjk-sc:"Songti SC","Noto Serif CJK SC","Noto Serif SC","STSong","SimSun",serif;--font-cjk-tc:"Songti TC","Noto Serif CJK TC","Noto Serif TC","PMingLiU",serif;--font-cjk:var(--font-cjk-sc);--font-meta:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--width-home:660px;--width-reading:700px;--width-standard:880px;--width-wide:1100px;--page-gutter:24px}@font-face{font-family:RockSalt;src:url(/fonts/RockSalt-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:CrimsonPro;src:url(/fonts/CrimsonPro-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:CrimsonPro;src:url(/fonts/CrimsonPro-Italic-VariableFont_wght.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}html{min-height:100%;color-scheme:light}body,html{background:var(--background)}body{min-height:100vh;margin:0;color:var(--foreground)}[data-chinese-script=traditional]{--font-cjk:var(--font-cjk-tc)}.cafe{--font-reading:"CrimsonPro",var(--font-cjk),Georgia,serif;font-family:var(--font-reading);font-size:18px;line-height:1.65;-webkit-text-size-adjust:100%;overflow-wrap:break-word;line-break:strict}.site-shell{width:min(calc(100% - var(--page-gutter) * 2),var(--width-wide));min-height:100svh;margin-inline:auto;display:flex;flex-direction:column}.cafe-main{flex:1;min-width:0}.page-home,.page-reading,.page-standard,.page-wide{width:100%;min-width:0}.page-home{max-width:var(--width-home)}.markdown-content,.page-reading{max-width:var(--width-reading)}.page-standard{max-width:var(--width-standard)}.page-wide{max-width:var(--width-wide)}:where(.cafe) a{color:var(--link);text-decoration:none;transition:color .15s ease,text-decoration-color .15s ease}:where(.cafe) a:hover{color:var(--link-hover)}:where(.cafe) :is(a,button,[tabindex]):focus-visible{outline:2px solid var(--link);outline-offset:4px}:where(.cafe) button{-webkit-tap-highlight-color:transparent}:where(.cafe) p{margin:0 0 1.35em;font-size:inherit;line-height:inherit}:where(.cafe) h1{margin:0 0 1.5rem;font-size:29px;font-weight:400;line-height:1.22;text-wrap:pretty}:where(.cafe) h2{margin:2.5rem 0 1rem;font-size:24px;font-weight:400;line-height:1.35}:where(.cafe) h3{margin:1.75rem 0 .75rem;font-size:21px;font-weight:400;line-height:1.4}:where(.cafe) strong{font-weight:600}:where(.cafe) hr{margin:2rem 0;border:0;border-top:1px solid var(--border)}:where(.cafe) :is(.reading-prose,.markdown-content) a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}:where(.cafe) :is(.reading-prose,.markdown-content) :is(h2,h3){text-wrap:pretty}:where(.cafe) :is(.markdown-content,.reading-prose) :is(ul,ol){padding-left:1.35em;margin:0 0 1.4em}:where(.cafe) :is(.markdown-content,.reading-prose) ul{list-style:disc}:where(.cafe) :is(.markdown-content,.reading-prose) ol{list-style:decimal}:where(.cafe) :is(.markdown-content,.reading-prose) li{margin:.35em 0}:where(.cafe) .markdown-content blockquote{margin:1.75rem 0;border-left:1px solid var(--link);padding-left:1.25rem;color:var(--secondary)}:where(.cafe) .markdown-content :is(img,video,iframe){max-width:100%}:where(.cafe) .markdown-content img{display:block;width:auto;height:auto;object-fit:contain;margin:1.5rem 0 2rem}:where(.cafe) .markdown-content figure{margin:1.75rem 0}:where(.cafe) .markdown-content figcaption{font-size:13px;line-height:1.5;color:var(--secondary)}:where(.cafe) .markdown-content pre{max-width:100%;overflow-x:auto;padding:1rem;background:var(--paper);font-size:13px}:where(.cafe) .markdown-content code{font-family:var(--font-meta);font-size:.82em}:where(.cafe) .markdown-content table{display:block;max-width:100%;overflow-x:auto}:where(.cafe) .markdown-content td,:where(.cafe) .markdown-content th{padding:.5rem .75rem;text-align:left}:where(.cafe) .markdown-content>:first-child,:where(.cafe) .markdown-content>div>:first-child{margin-top:0}.markdown-content:lang(zh),.reading-prose:lang(zh),.thought-text:lang(zh){font-size:17px;line-height:1.85}.content-meta{color:var(--secondary);font-family:var(--font-meta);font-size:11px;line-height:1.6;font-weight:400}.site-header{padding:24px 0 18px;margin-bottom:34px;border-bottom:1px solid var(--border)}.site-header .site-logo{display:inline-block;margin-bottom:12px;color:var(--foreground);font-family:RockSalt,cursive;font-size:34px;line-height:1.65}.site-header .site-logo:hover{color:var(--link-hover)}.header-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px}.site-navigation{min-width:0}.site-navigation ul{display:flex;flex-wrap:wrap;align-items:center;column-gap:16px;row-gap:0}.site-navigation a{display:inline-flex;align-items:center;min-height:36px;font:12px/1.4 var(--font-meta)}.site-navigation a[aria-current]{color:var(--foreground);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.script-selector{min-width:0;font-size:13px}.script-selector [role=group],.script-selector button{display:inline-flex;align-items:center}.script-selector button{justify-content:center;min-width:36px;min-height:44px;color:var(--link);font-family:var(--font-cjk);font-size:15px}.script-selector button[aria-pressed=true]{color:var(--foreground);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.script-selector-rule{display:block;height:12px;width:1px;background:var(--border)}.script-selector-error{display:block;max-width:230px;font-size:12px;color:var(--secondary)}.home-language{display:flex;gap:20px;margin-bottom:22px;font:11px/1.5 var(--font-meta)}.home-language button{min-width:28px;min-height:44px;color:var(--link)}.home-language button[aria-pressed=true]{color:var(--foreground);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.home-introduction h1{margin-bottom:1.5rem}.home-introduction p{margin-bottom:1.5em}.home-introduction p:last-child{margin-bottom:1rem}.home-introduction>p:first-of-type{line-height:1.75}.thoughts-introduction{margin-bottom:24px}.thoughts-introduction h1{margin-bottom:8px}.thoughts-introduction p{margin:0;font-size:14px;line-height:1.5;color:var(--secondary)}.thought-entry{padding:22px 0;border-bottom:1px solid var(--border);scroll-margin-top:24px}.thoughts-stream>.thought-entry:first-child{padding-top:0}.thought-entry .thought-text{margin-bottom:14px;white-space:pre-wrap;overflow-wrap:anywhere}.thought-entry .thought-music{margin-bottom:10px;font-size:13px;line-height:1.6;color:var(--secondary);overflow-wrap:anywhere}.music-module{margin-bottom:28px}.spotify-live{max-width:450px}.spotify-rotation-description{margin:0 0 12px;font-size:13px;line-height:1.5;color:var(--secondary)}.spotify-rotation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.spotify-rotation-grid li{min-width:0}.spotify-album{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;min-width:0;border-radius:2px}.spotify-album-copy{display:block;min-width:0}.spotify-album-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;color:var(--foreground);font-size:14px;line-height:1.3}.spotify-album-artists{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;color:var(--secondary);font-size:12px;line-height:1.3}@media (min-width:640px){.spotify-rotation-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:350px){.spotify-album-title{font-size:12px}.spotify-album-artists{font-size:11px}}.writing-introduction{max-width:var(--width-reading);margin-bottom:48px}.writing-introduction>h2{margin-top:0}.writing-groups{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}.writing-groups h2{margin:0 0 20px;font-size:21px}.writing-groups li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:4px 16px;margin-bottom:16px}.writing-groups li a{line-height:1.45}.writing-groups time{white-space:nowrap;justify-self:end}@media (max-width:350px){.writing-groups li{grid-template-columns:minmax(0,1fr)}}.article-header{margin-bottom:32px}.article-header h1{margin-bottom:14px}.article-cover{display:block;width:100%;height:auto;object-fit:contain;margin-bottom:32px}.site-footer{margin-top:64px;padding:16px 0 28px;border-top:1px solid var(--border)}.site-footer button{display:inline-flex;align-items:center;min-height:44px;color:var(--secondary);font:11px/1.5 var(--font-meta)}.site-footer button:hover{color:var(--link-hover)}@media (min-width:640px){:root{--page-gutter:32px}}@media (min-width:769px){.cafe{font-size:19px}:where(.cafe) h1{font-size:35px}:where(.cafe) h2{font-size:25px}.markdown-content:lang(zh),.reading-prose:lang(zh),.thought-text:lang(zh){font-size:18px}.site-header{padding-top:32px;margin-bottom:42px}.site-header .site-logo{font-size:42px;margin-bottom:16px}.writing-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}.writing-groups h2{font-size:23px}}@media (min-width:1024px){:root{--page-gutter:56px}}@media (max-width:350px){:root{--page-gutter:20px}.header-tools{gap:10px}.site-navigation ul{column-gap:12px}}@media (prefers-reduced-motion:reduce){:where(.cafe) a{transition:none}}.spotify-live-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--sage);animation:spotify-live-breathe 2.5s ease-in-out infinite}@keyframes spotify-live-breathe{0%,to{opacity:.65;box-shadow:0 0 0 transparent}50%{opacity:1;box-shadow:0 0 3px color-mix(in srgb,var(--sage) 20%,transparent)}}@media (prefers-reduced-motion:reduce){.spotify-live-dot{animation:none}}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}.focus-visible\:outline-link:focus-visible{outline-color:var(--link)}