*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--paper-bg: #e4e2d6;--ink-blue: #007ac2;--ink-orange: #cf4e26;--text-body: #3a3a36;--text-soft: #6a6a62;--text-faint: #9a9a8e;--rule-light: rgba(58, 58, 54, .12)}body{font-family:Zen Maru Gothic,Huninn,sans-serif;background-color:var(--paper-bg);color:var(--text-body);line-height:1.85;font-size:17px;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;background-image:linear-gradient(#e4e2d6e6,#e4e2d6e6),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.4'/%3E%3C/svg%3E");background-attachment:fixed}::selection{background:#007ac233;color:var(--text-body)}main{max-width:640px;margin:0 auto;padding:5rem 2.5rem 4rem}a{color:var(--ink-blue);text-decoration:none;transition:opacity .3s ease}a:hover{opacity:.7}header{margin-bottom:5rem;text-align:center}h1{font-family:Zen Maru Gothic,"Noto Serif TC",sans-serif;font-size:2.8rem;font-weight:700;letter-spacing:.08em;color:var(--text-body);margin-bottom:.6rem}h1 a{color:inherit;text-decoration:none}.tagline{color:var(--text-soft);font-size:.95rem;letter-spacing:.03em;margin-top:.5rem}.lang-switch{display:flex;justify-content:center;align-items:center;gap:.6rem;font-family:Cutive Mono,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}.lang-switch span{color:var(--text-faint);user-select:none}.lang-switch button{background:none;border:none;padding:0;font:inherit;color:var(--text-soft);opacity:.5;transition:opacity .3s ease;cursor:pointer}.lang-switch button:hover{opacity:.85}.lang-switch button.active{opacity:1;color:var(--ink-blue);font-weight:700}.site-nav{margin-top:.5rem;font-family:Cutive Mono,monospace;font-size:.8rem;letter-spacing:.06em}.site-nav a{color:var(--ink-orange);text-decoration:none;opacity:.7;transition:opacity .3s ease}.site-nav a:hover{opacity:1}.guest-author{display:block;text-align:center;font-family:Cutive Mono,monospace;font-size:.8rem;letter-spacing:.06em;color:var(--ink-orange);margin-bottom:.3rem}.post-item-guest{font-family:Cutive Mono,monospace;font-size:.7rem;color:var(--ink-orange);opacity:.8;white-space:nowrap;margin-left:.4rem}.voices-intro{text-align:center;margin-bottom:4rem;padding:2rem 0}.voices-intro h2{font-family:Huninn,serif;font-size:2rem;color:var(--ink-blue);margin-bottom:1.5rem}.voices-desc{font-size:.95rem;color:var(--text-soft);line-height:1.8;max-width:32rem;margin:0 auto .8rem}.voices-desc a{color:var(--ink-orange)}.cover{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:5rem;padding:2rem 0 3rem}.cover-illustration{margin-bottom:2.5rem}.moon-svg{opacity:.85;transition:opacity .4s ease}.moon-svg:hover{opacity:1}.cover-text{max-width:480px}.cover-text p{margin-bottom:.8rem;color:var(--text-soft);font-size:.95rem;line-height:1.75}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:fadeIn .5s ease both}.toc-section{position:relative}.toc-line{width:40px;height:1.5px;background:var(--ink-blue);margin:0 auto 1.2rem;opacity:.4}.toc-label{font-family:Cutive Mono,monospace;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);margin-bottom:2rem;text-align:center}.post-list{display:flex;flex-direction:column;gap:0}.post-item{display:flex;align-items:baseline;padding:.7rem 0;text-decoration:none;transition:color .2s ease;gap:.8rem}.post-item:hover .post-item-title{color:var(--ink-blue)}.post-item:hover .post-item-index{color:var(--ink-orange)}.post-item-index{font-family:Cutive Mono,monospace;font-size:.72rem;color:var(--text-faint);letter-spacing:.05em;flex-shrink:0;width:1.8rem;transition:color .2s ease}.post-item-title{font-family:Zen Maru Gothic,"Noto Serif TC",sans-serif;font-size:.95rem;font-weight:500;color:var(--text-body);letter-spacing:.02em;transition:color .2s ease;flex-shrink:0}.post-item-dots{flex:1;border-bottom:1px dotted var(--rule-light);min-width:1rem;margin:0 .4rem;position:relative;top:-3px}.post-item-date{font-family:Cutive Mono,monospace;font-size:.7rem;color:var(--text-faint);letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.post-detail{max-width:580px;margin:0 auto}.post-detail h2{font-family:Zen Maru Gothic,"Noto Serif TC",sans-serif;font-size:2rem;font-weight:700;letter-spacing:.04em;line-height:1.4;margin-bottom:.5rem;color:var(--text-body);text-align:center}.post-detail time{display:block;color:var(--text-faint);font-family:Cutive Mono,monospace;font-size:.8rem;letter-spacing:.08em;margin-bottom:3rem;text-align:center}.post-detail h3{font-family:Zen Maru Gothic,"Noto Serif TC",sans-serif;font-size:1.2rem;font-weight:700;color:var(--ink-blue);margin-top:2.5rem;margin-bottom:.8rem;letter-spacing:.03em}.post-detail p{margin-bottom:1.2rem;line-height:1.9}.post-detail em{font-style:normal;color:var(--ink-orange)}.post-detail strong{font-weight:700;color:var(--ink-orange)}.post-detail code{font-family:Cutive Mono,monospace;font-size:.88em;background:#ffffff80;border:1px solid var(--rule-light);border-radius:3px;padding:.15em .5em;color:var(--ink-blue)}.post-detail pre{background:#ffffff80;border:1px solid var(--rule-light);border-radius:4px;padding:1.2rem;overflow-x:auto;margin:1.5rem 0;font-family:Cutive Mono,monospace;font-size:.85rem;line-height:1.6}.post-detail pre code{background:none;border:none;padding:0}.post-detail blockquote{border-left:3px solid var(--ink-orange);padding-left:1.5rem;margin:1.8rem 0;color:var(--text-soft);font-style:italic}.post-detail ul,.post-detail ol{margin:1.2rem 0 1.2rem 1.8rem}.post-detail li{margin-bottom:.5rem}.post-nav{margin-top:5rem;padding-top:2.5rem;border-top:1px solid var(--rule-light);display:flex;justify-content:center;align-items:flex-start;gap:1.5rem}.post-nav>span:empty{flex:1}.post-nav a{color:var(--text-soft);text-decoration:none;font-family:Zen Maru Gothic,"Noto Serif TC",sans-serif;font-size:.9rem;letter-spacing:.02em;transition:color .3s ease;flex:1;min-width:0}.post-nav a:hover{color:var(--ink-blue);opacity:1}.post-nav .nav-prev{text-align:left}.post-nav .nav-home{text-align:center;flex:0 0 auto;color:var(--text-faint)}.post-nav .nav-home:hover{color:var(--text-soft)}.post-nav .nav-next{text-align:right}.post-nav .nav-label{display:block;color:var(--text-faint);font-family:Cutive Mono,monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}.post-nav .nav-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}footer{margin-top:6rem;padding-top:2rem;border-top:1px solid var(--rule-light);text-align:center;color:var(--text-faint)}footer p{margin-bottom:.5rem;font-family:Cutive Mono,monospace;font-size:.75rem;letter-spacing:.05em}footer a{color:var(--ink-blue);text-decoration:none;transition:opacity .3s ease}footer a:hover{opacity:.7}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--paper-bg)}::-webkit-scrollbar-thumb{background:var(--text-faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-soft)}@media(max-width:640px){body{font-size:16px;line-height:1.8}main{padding:3.5rem 1.5rem 3rem}h1{font-size:2.2rem}.lang-switch{margin-bottom:.5rem}.post-item-dots{display:none}.post-item{flex-wrap:wrap}.post-item-date{width:100%;padding-left:2.6rem;margin-top:-.2rem}.post-detail h2{font-size:1.6rem}.post-detail h3{font-size:1.1rem}.post-nav{gap:.8rem}.post-nav a{font-size:.8rem}.post-nav .nav-prev{text-align:left;flex:1}.post-nav .nav-next{text-align:right;flex:1}}@media(max-width:380px){main{padding:2.5rem 1.2rem 2rem}h1{font-size:1.8rem}.lang-switch{font-size:.7rem}.featured-post{padding:1.5rem 1rem}.featured-post h2{font-size:1.4rem}}@media print{body{background:#fff;color:#1a1a1a}.lang-switch,footer{display:none}.featured-post{border-color:#ccc}.post-detail h2,.post-detail h3{color:#1a1a1a}.post-nav{border-top-color:#ccc}}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.lang-en,.lang-zh{display:none}.lang-en.active,.lang-zh.active{display:block}html{visibility:visible}
