
:root{--ink:#1a1f16;--forest:#2c3d2a;--gold:#c9a96e;--gold-light:#e8d5a8;--parchment:#f0ead8;--cream:#faf7f0}
*{margin:0;padding:0;box-sizing:border-box}body{background:var(--ink);color:var(--parchment);font-family:'PingFang TC','Microsoft JhengHei','Noto Sans TC',system-ui,sans-serif;font-weight:300;line-height:1.9;font-size:15px}a{color:var(--gold)}
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.25rem 2.5rem;background:rgba(26,31,22,.92);backdrop-filter:blur(10px);border-bottom:.5px solid rgba(201,169,110,.2)}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:18px;letter-spacing:.12em;color:var(--gold);text-decoration:none}.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}.nav-links a{font-size:13px;color:var(--parchment);text-decoration:none;letter-spacing:.06em;opacity:.7}.nav-links a:hover{opacity:1;color:var(--gold-light)}.nav-cta{font-size:12px;color:var(--gold);border:.5px solid var(--gold);padding:.5rem 1.2rem;text-decoration:none;letter-spacing:.1em;border-radius:999px}
.article-shell{max-width:860px;margin:0 auto;padding:6rem 2.5rem 5rem}.back-link{display:inline-block;margin-bottom:2.5rem;color:var(--gold);text-decoration:none;font-size:12px;letter-spacing:.12em}.post-meta{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-bottom:1.25rem}.post-pill{font-size:11px;color:var(--gold);letter-spacing:.08em;border:.5px solid rgba(201,169,110,.35);padding:.15rem .55rem}.post-date{color:rgba(240,234,216,.68);font-size:12px;letter-spacing:.08em}
h1{font-family:'Cormorant Garamond','Songti TC','Noto Serif TC','PMingLiU','Microsoft JhengHei',serif;font-weight:300;font-size:clamp(1.9rem,4vw,3rem);line-height:1.18;color:var(--cream);margin-bottom:1.35rem}.post-excerpt{color:rgba(240,234,216,.62);font-size:16px;line-height:2;padding-bottom:2.5rem;border-bottom:.5px solid rgba(201,169,110,.18);margin-bottom:3rem}
.article-content{font-family:'Songti TC','Noto Serif TC','PMingLiU','Microsoft JhengHei',serif;color:rgba(240,234,216,.82);font-size:17px;line-height:2.15}.article-content p{margin:1.25rem 0}.article-content .article-spacer{min-height:1rem}.article-content h2,.article-content h3,.article-content h4{font-family:'Cormorant Garamond','Songti TC','Noto Serif TC','PMingLiU','Microsoft JhengHei',serif;font-weight:300;color:var(--gold-light);line-height:1.35;margin:2.8rem 0 1rem}.article-content h2{font-size:2rem}.article-content h3{font-size:1.55rem}.article-content h4{font-size:1.25rem}.article-content ul,.article-content ol{margin:1.25rem 0 1.25rem 1.4rem}.article-content li{margin:.45rem 0;padding-left:.25rem}.article-content blockquote{margin:2rem 0;padding:1.25rem 1.5rem;border-left:1px solid var(--gold);background:rgba(201,169,110,.06);color:var(--gold-light);font-style:italic}.article-content hr{border:0;border-top:.5px solid rgba(201,169,110,.24);margin:2.5rem 0}.article-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:rgba(240,234,216,.08);padding:.1rem .35rem;border-radius:3px}.article-content figure{margin:2rem 0}.article-content img{max-width:100%;height:auto;display:block;border:.5px solid rgba(201,169,110,.2)}.article-content figcaption{margin-top:.5rem;color:rgba(240,234,216,.68);font-size:12px;text-align:center}.article-callout{display:flex;gap:.8rem;margin:1.5rem 0;padding:1rem 1.15rem;border:.5px solid rgba(201,169,110,.22);background:rgba(44,61,42,.42)}.callout-icon{flex:0 0 auto}
.article-footer{margin-top:4rem;padding-top:2rem;border-top:.5px solid rgba(201,169,110,.18);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.btn-outline{display:inline-block;font-size:12px;color:var(--gold);border:.5px solid rgba(201,169,110,.4);padding:.7rem 1.5rem;text-decoration:none;letter-spacing:.12em;border-radius:999px}
.article-feedback{margin-top:3rem;padding:1.5rem;border:.5px solid rgba(201,169,110,.2);background:rgba(44,61,42,.3)}.article-feedback h2{font-size:1.25rem;margin:0 0 .4rem;color:var(--gold-light)}.article-feedback p{font-size:13px;color:rgba(240,234,216,.55);margin:0 0 1rem}.feedback-options{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}.feedback-options label{font-size:12px;color:var(--parchment)}.article-feedback textarea{width:100%;min-height:72px;padding:.7rem;background:rgba(250,247,240,.04);border:.5px solid rgba(201,169,110,.3);color:var(--cream);font:inherit;resize:vertical}.article-feedback button{margin-top:.8rem;padding:.6rem 1.1rem;border:0;background:var(--gold);color:var(--ink);cursor:pointer}
footer{padding:2rem 2.5rem;border-top:.5px solid rgba(201,169,110,.15);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-brand{font-family:'Cormorant Garamond',serif;font-size:15px;color:var(--gold);letter-spacing:.1em}.footer-links{display:flex;gap:1.5rem}.footer-links a{font-size:12px;color:rgba(240,234,216,.35);text-decoration:none}
@media(max-width:768px){nav{padding:1rem 1.25rem}.nav-links{display:none}.article-shell{padding:4rem 1.35rem}}

/* Mobile menu stability patch */
body.menu-open { overflow: hidden; }
@media (max-width: 900px) {
  .nav-hamburger { display: flex; flex-direction: column; gap: 5px; cursor: pointer; position: relative; z-index: 202; border: 0; background: transparent; padding: .5rem; }
  .nav-hamburger span { width: 22px; height: 1px; background: var(--gold, #c9a96e); display: block; transition: transform .28s ease, opacity .2s ease; }
  .nav-hamburger.is-open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-hamburger.is-open span:nth-child(2) { opacity: 0; }
  .nav-hamburger.is-open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav-links.open {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 1rem !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    padding: 6rem 1.5rem 3rem !important;
    background: #1a1f16 !important;
    border: 0 !important;
    z-index: 201 !important;
  }
  .nav-links.open li { width: 100%; }
  .nav-links.open a { display: block; width: 100%; padding: .35rem 0; font-size: 18px !important; line-height: 1.6; }
}





.article-table{overflow:auto}.article-table table{border-collapse:collapse;width:100%;min-width:20rem}.article-table th,.article-table td{border:1px solid #c9a96e55;padding:.65rem;text-align:left}.article-content pre{overflow:auto;padding:1rem}.article-content summary{cursor:pointer;color:var(--gold-light)}.article-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1.5rem}.article-content :is(h2,h3,h4){scroll-margin-top:7rem}.article-toc,.article-author{padding:1.5rem;border:1px solid #c9a96e44;margin:2rem 0}.article-toc ol{padding-left:1.3rem}.article-toc a{font-size:14px}.article-author p{font-size:14px}.article-shell{overflow-wrap:anywhere}.article-content img{object-fit:contain}.post-date span{margin-left:1rem}
