@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Noto+Serif+TC:wght@300;400&family=Noto+Sans+TC:wght@300;400&family=JetBrains+Mono:wght@300;400&display=swap");:root{--bg-primary:#0f1210;--bg-secondary:#1a1a18;--bg-card:#1e1e1b;--text-primary:#e2ddd4;--text-secondary:#7a7870;--accent-1:#b5a07a;--accent-2:#c4622d;--accent-3:#8f4a2a;--moss:#5a6b4f;--border:#2a2a26;--code-bg:#151513;--font-display:"Cormorant Garamond",Georgia,serif;--font-serif:"Noto Serif TC","Noto Serif",serif;--font-sans:"Noto Sans TC",system-ui,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--radius-sm:4px;--radius-md:6px;--nav-h:60px;--ease:cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-weight:300;font-size:1rem;line-height:1.8;letter-spacing:.01em;min-height:100vh;position:relative;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-repeat:repeat}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:300;line-height:1.4;letter-spacing:.02em;color:var(--text-primary)}.display-title{font-family:var(--font-display);font-style:italic;font-weight:400}p{line-height:1.8;letter-spacing:.02em}a{color:inherit;text-decoration:none;transition:color .4s var(--ease)}a:hover{color:var(--accent-2)}code,pre{font-family:var(--font-mono);font-size:.875em}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.container-narrow{max-width:760px;margin:0 auto;padding:0 2rem}.article-body{font-family:var(--font-sans);font-weight:300;font-size:1rem;line-height:1.9;color:var(--text-primary)}.article-body h1,.article-body h2,.article-body h3,.article-body h4{font-family:var(--font-serif);font-weight:300;margin-top:2.5rem;margin-bottom:1rem;scroll-margin-top:calc(var(--nav-h) + 1.5rem)}.article-body h2{font-size:1.4rem;border-bottom:1px solid var(--border);padding-bottom:.4rem}.article-body h3{font-size:1.15rem;color:var(--accent-1)}.article-body h4{font-size:1rem;color:var(--text-secondary)}.article-body p{margin-bottom:1.5rem}.article-body a{color:var(--accent-1);text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:3px;transition:color .3s,-webkit-text-decoration-color .3s;transition:color .3s,text-decoration-color .3s;transition:color .3s,text-decoration-color .3s,-webkit-text-decoration-color .3s}.article-body a:hover{color:var(--accent-2);-webkit-text-decoration-color:var(--accent-2);text-decoration-color:var(--accent-2)}.article-body ol,.article-body ul{padding-left:1.5rem;margin-bottom:1.5rem}.article-body li{margin-bottom:.4rem}.article-body blockquote{border-left:3px solid var(--accent-3);padding:.8rem 1.5rem;margin:1.5rem 0;background:var(--bg-card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--text-secondary);font-style:italic}.article-body code:not(pre code){background:var(--accent-3);color:var(--text-primary);padding:.1em .4em;border-radius:3px;font-size:.85em;opacity:.9}.article-body pre{background:var(--code-bg)!important;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto;margin:1.5rem 0;position:relative}.article-body pre code{display:block;padding:1.25rem 1.5rem;font-size:.85rem;line-height:1.7}.article-body table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.9rem}.article-body td,.article-body th{border:1px solid var(--border);padding:.6rem 1rem;text-align:left}.article-body th{background:var(--bg-card);color:var(--accent-1);font-weight:400}.article-body img{max-width:100%;border-radius:var(--radius-sm);margin:1.5rem 0}.article-body hr{border:none;border-top:1px solid var(--border);margin:2.5rem 0;opacity:.4}.code-block-wrapper{position:relative}.copy-btn{position:absolute;top:.75rem;right:.75rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);padding:.25rem .6rem;font-family:var(--font-mono);font-size:.7rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .3s var(--ease);z-index:2}.copy-btn:hover{color:var(--accent-2);border-color:var(--accent-2)}.copy-btn.copied{color:var(--moss);border-color:var(--moss)}.tag{display:inline-flex;align-items:center;padding:.2em .65em;border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);letter-spacing:.03em;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border);transition:color .3s,border-color .3s}.tag:hover{color:var(--accent-1);border-color:var(--accent-1)}.tag.active{color:var(--accent-2);border-color:var(--accent-2);background:rgba(196,98,45,.08)}.tag-culture{background:rgba(90,107,79,.15);color:var(--moss);border-color:rgba(90,107,79,.3)}.tag-mood{background:rgba(90,107,79,.1);color:var(--moss);border-color:rgba(90,107,79,.25);font-style:italic}.tag-category{background:rgba(143,74,42,.15);color:var(--accent-3);border-color:rgba(143,74,42,.3)}.card{background:var(--bg-card);border-radius:var(--radius-sm);padding:1.5rem;transition:border-color .4s var(--ease),transform .4s var(--ease);border:1px solid var(--border);border-left:2px solid transparent}.card:hover{border-left-color:var(--accent-2);transform:translateX(2px)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.875rem;font-weight:300;letter-spacing:.04em;cursor:pointer;transition:all .3s var(--ease);border:1px solid transparent;text-decoration:none}.btn-primary{background:var(--accent-2);color:var(--text-primary);border-color:var(--accent-2)}.btn-primary:hover{background:var(--accent-3);border-color:var(--accent-3);color:var(--text-primary)}.btn-outline{background:transparent;border-color:var(--accent-1);color:var(--accent-1)}.btn-outline:hover{background:hsla(39,29%,59%,.1);color:var(--accent-2);border-color:var(--accent-2)}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:var(--border)}.btn-ghost:hover{color:var(--accent-2);border-color:var(--accent-2)}.section-divider{border:none;border-top:1px solid var(--border);opacity:.2;margin:3rem 0}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .4s var(--ease) both}.fade-up-delay-1{animation-delay:.1s}.fade-up-delay-2{animation-delay:.2s}.fade-up-delay-3{animation-delay:.3s}.stars{color:var(--moss);font-size:.9rem;letter-spacing:.05em}@media (max-width:768px){.container,.container-narrow{padding:0 1.25rem}.article-body h2{font-size:1.25rem}.article-body h3{font-size:1.05rem}}@media print{body{background:#fff!important;color:#000!important}body:after{display:none}.no-print,nav{display:none!important}a{color:#000;text-decoration:none}.print-page-break{page-break-before:always}}.hljs{color:#c9c4bb;background:#151513}.hljs-built_in,.hljs-keyword,.hljs-selector-tag{color:#c4622d}.hljs-attr,.hljs-string,.hljs-template-variable{color:#b5a07a}.hljs-literal,.hljs-number{color:#e8956d}.hljs-comment,.hljs-quote{color:#5a5a50;font-style:italic}.hljs-function,.hljs-name{color:#d4b896}.hljs-class .hljs-title,.hljs-type{color:#c4a96d}.hljs-params,.hljs-variable{color:#c9c4bb}.hljs-meta{color:#7a7870}.hljs-bullet,.hljs-symbol{color:#8f4a2a}.hljs-link{color:#b5a07a;text-decoration:underline}.hljs-deletion{color:#c4622d}.hljs-addition{color:#5a6b4f}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.Footer_footer__eNA9m{position:relative;margin-top:6rem;padding:2.5rem 0 2rem;border-top:1px solid var(--border);overflow:hidden}.Footer_emberWrap__qa_CL{position:absolute;inset:0;pointer-events:none}.Footer_inner__ngCVB{max-width:1100px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.Footer_links__13oK3{display:flex;align-items:center;gap:1.25rem}.Footer_links__13oK3 a{color:var(--text-secondary);transition:color .3s}.Footer_links__13oK3 a:hover{color:var(--accent-2)}.Footer_copy__1rMWy{font-size:.78rem;color:var(--text-secondary);letter-spacing:.04em}@media (max-width:480px){.Footer_inner__ngCVB{flex-direction:column;gap:1rem;text-align:center}}.Navbar_nav___WITp{position:fixed;top:0;left:0;right:0;height:var(--nav-h);background:rgba(15,18,16,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(42,42,38,.6);z-index:9000}.Navbar_inner__Zc9of{max-width:1100px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}.Navbar_logo__Am5h2{position:relative;display:flex;align-items:center;width:36px;height:36px;text-decoration:none}.Navbar_logoText__WcSgJ{font-family:var(--font-display);font-style:italic;font-size:1.3rem;color:var(--accent-1);letter-spacing:.05em;position:relative;z-index:1;transition:color .3s}.Navbar_logo__Am5h2:hover .Navbar_logoText__WcSgJ{color:var(--accent-2)}.Navbar_logoEmber__XMHjz{position:absolute;inset:0;width:60px;height:60px;top:-12px;left:28px;pointer-events:none;overflow:visible}.Navbar_links__c080l{display:flex;align-items:center;gap:.25rem;list-style:none}.Navbar_link__wMX_K{display:block;padding:.35rem .85rem;font-size:.85rem;font-family:var(--font-sans);font-weight:300;letter-spacing:.06em;color:var(--text-secondary);transition:color .3s;border-bottom:1.5px solid transparent;text-transform:uppercase}.Navbar_link__wMX_K:hover{color:var(--text-primary);border-bottom-color:rgba(196,98,45,.4)}.Navbar_active__YMfDB{color:var(--accent-2)!important;border-bottom-color:var(--accent-2)!important}@media (max-width:600px){.Navbar_inner__Zc9of{padding:0 1.25rem}.Navbar_link__wMX_K{padding:.3rem .5rem;font-size:.78rem;letter-spacing:.04em}}