:root{--bg: #f3e9d5;--bg-grad: linear-gradient(158deg, #fdf8ee 0%, #efdfc2 52%, #e4cfa6 100%);--fg: #2b2620;--muted: #7c7360;--faint: rgba(120, 100, 70, .1);--accent: #b1502a;--social-accent: #0e1524;--border: #e6dcc7;--maxw: 780px;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Songti TC", "Noto Serif TC", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif}:root[data-theme=dark]{--bg: #0e1524;--bg-grad: linear-gradient(158deg, #0a1020 0%, #14224a 52%, #1e3068 100%);--fg: #e7e9f1;--muted: #99a0b4;--faint: rgba(255, 255, 255, .06);--accent: #e6a06a;--social-accent: #f3e9d5;--border: #27314c}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0e1524;--bg-grad: linear-gradient(158deg, #0a1020 0%, #14224a 52%, #1e3068 100%);--fg: #e7e9f1;--muted: #99a0b4;--faint: rgba(255, 255, 255, .06);--accent: #e6a06a;--social-accent: #f3e9d5;--border: #27314c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg-grad) no-repeat fixed;color:var(--fg);font-family:var(--sans);font-size:18px;line-height:1.8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#fff}.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--border);margin:2.5em 0}.site-header{position:sticky;top:0;z-index:50;padding:16px 0;background:color-mix(in srgb,var(--bg) 82%,transparent);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--border)}.site-header .row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.site-header .brand{font-family:var(--serif);font-size:1.3rem;font-weight:700;color:var(--fg);letter-spacing:.01em}.site-header .brand:hover{text-decoration:none;color:var(--fg)}.site-nav{display:flex;align-items:center;gap:1.25rem;font-size:.95rem}.site-nav a{color:var(--muted)}.site-nav a:hover{color:var(--fg);text-decoration:none}.nav-dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%,4px);min-width:136px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:6px;box-shadow:0 10px 30px #0000001f;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:opacity .15s,transform .15s,visibility .15s;z-index:30}.nav-dropdown:after{content:"";position:absolute;top:100%;left:0;right:0;height:10px}.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{opacity:1;visibility:visible;transform:translate(-50%)}.dropdown-menu a{display:block;padding:8px 12px;border-radius:8px;color:var(--fg);white-space:nowrap;font-size:.92rem;transition:background .15s,color .15s}.dropdown-menu a:hover{background:var(--faint);color:var(--accent);text-decoration:none}.cat-label{color:var(--accent);font-weight:600}.cat-label:hover{text-decoration:underline;text-underline-offset:2px}.meta-dot{margin:0 .45em;opacity:.6}.page-heading{font-family:var(--serif);font-size:1.9rem;font-weight:700;margin:6px 0 10px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}.theme-toggle:hover{color:var(--fg);border-color:var(--muted)}.theme-toggle svg{width:17px;height:17px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon{display:block}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .icon-sun{display:block}:root:not([data-theme=light]) .theme-toggle .icon-moon{display:none}}.site-footer{margin-top:80px;padding:28px 0 48px;border-top:1px solid var(--border);color:var(--muted);font-size:.88rem}.post-list{margin:8px 0 0}.post-list-item{display:flex;gap:1.4rem;align-items:flex-start;padding:26px 0;border-top:1px solid var(--border)}.post-list-item:first-child{border-top:0;padding-top:6px}.post-card-body{flex:1;min-width:0}.post-list-item h2{font-family:var(--serif);font-size:1.5rem;font-weight:600;line-height:1.35;margin:0 0 .35rem}.post-list-item h2 a{color:var(--fg)}.post-list-item h2 a:hover{color:var(--accent);text-decoration:none}.post-list-item .excerpt{margin:.4rem 0 0;color:var(--muted);font-size:1.02rem;line-height:1.7}.post-thumb{flex:0 0 auto;width:176px;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;display:block;background:var(--faint)}.post-thumb img{width:100%;height:100%;object-fit:cover;display:block}.post-meta{color:var(--muted);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase}.article-header{margin:12px 0 30px}.article-title{font-family:var(--serif);font-size:2.1rem;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin:0 0 .6rem}.article-subtitle{font-family:var(--serif);font-size:1.25rem;font-weight:400;line-height:1.4;color:var(--muted);margin:-.1rem 0 .7rem}.article-cover{margin:1.8rem 0;border-radius:10px;width:100%;height:auto}.prose{font-size:1.18rem;line-height:1.85}.prose>*+*{margin-top:1.4em}.prose h2,.prose h3{font-family:var(--sans);font-weight:700;line-height:1.3;margin-top:2em;margin-bottom:.25em}.prose h2{font-size:1.65rem}.prose h3{font-size:1.4rem}.prose img{border-radius:8px;display:block;margin:1.6em auto}.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent)}.prose blockquote{margin:1.6em 0;padding:.2em 0 .2em 1.2em;border-left:3px solid var(--accent);color:var(--muted);font-style:italic}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose pre{overflow-x:auto;padding:1em 1.2em;background:var(--faint);border-radius:10px;font-size:.92rem;line-height:1.6}.prose :not(pre)>code{background:var(--faint);padding:.15em .4em;border-radius:5px;font-size:.9em}.prose hr{border-top:1px solid var(--border)}.related{margin-top:3.2rem;padding-top:1.6rem;border-top:1px solid var(--border)}.related-heading{font-family:var(--serif);font-size:1.3rem;margin:0 0 1rem;color:var(--fg)}.related-list{display:grid;gap:14px}.related-card{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--faint);text-decoration:none;min-height:116px;transition:border-color .15s}.related-card:hover{border-color:var(--muted);text-decoration:none}.related-card-body{flex:1;min-width:0;padding:16px 18px;display:flex;flex-direction:column;justify-content:center}.related-card-title{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--fg);line-height:1.35}.related-card-excerpt{margin-top:.3rem;color:var(--muted);font-size:.92rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-card-thumb{flex:0 0 auto;width:168px;align-self:stretch;background:var(--faint)}.related-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:480px){.related-card-thumb{width:108px}.related-card{min-height:96px}.related-card-title{font-size:1rem}}.social-links{display:flex;gap:1.2rem;margin-top:1.8rem;align-items:center}.social-links a{color:var(--muted);display:inline-flex;transition:color .15s,transform .15s}.social-links a:hover{color:var(--social-accent);transform:translateY(-2px);text-decoration:none}.social-links svg{width:23px;height:23px;display:block}.subscribe{margin-top:3.5rem;padding:1.6rem 0 0;border-top:1px solid var(--border)}.subscribe .title{font-family:var(--serif);font-size:1.15rem;margin:0 0 .5rem;color:var(--fg)}.subscribe .hint{color:var(--muted);font-size:.92rem;margin:0}.subscribe .formkit-powered-by-convertkit-container{display:none!important}@media(max-width:480px){body{font-size:17px}.article-title{font-size:1.7rem}.post-list-item h2{font-size:1.25rem}.post-list-item{gap:1rem}.post-thumb{width:116px}}
