@charset "UTF-8";:root{--paper: #fbf7ec;--paper-2: #f4ecd8;--card: #fffdf7;--ink: #29251e;--ink-soft: #3e3a31;--ink-faint: #4a4436;--yellow: #f2c14e;--amber: #e68a37;--amber-deep: #cf7526;--olive: #6f8b56;--olive-soft: #8ba572;--line: rgba(50, 46, 38, .12);--line-strong: rgba(50, 46, 38, .22);--shadow-sm: 0 1px 2px rgba(50, 46, 38, .06);--shadow-md: 0 8px 24px rgba(50, 46, 38, .1);--shadow-lg: 0 18px 48px rgba(50, 46, 38, .14);--font-display: "Fraunces", "Noto Serif TC", Georgia, serif;--font-body: "Noto Sans TC", "Inter", system-ui, -apple-system, sans-serif;--radius: 8px;--radius-lg: 22px;--maxw: 1120px;--nav-h: 68px;--ease: cubic-bezier(.22, 1, .36, 1)}:root[data-theme=dark]{--paper: #201d18;--paper-2: #29251e;--card: #2c2820;--ink: #f2ecda;--ink-soft: #b7ae99;--ink-faint: #857d6c;--yellow: #f4c85e;--amber: #ef9a4b;--amber-deep: #f0a95f;--olive: #9cb87e;--olive-soft: #b0cc93;--line: rgba(242, 236, 218, .12);--line-strong: rgba(242, 236, 218, .22);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4);--shadow-lg: 0 18px 48px rgba(0, 0, 0, .5)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;font-weight:500;letter-spacing:1px}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background-color:var(--paper);background-image:radial-gradient(circle at 1px 1px,rgba(50,46,38,.035) 1px,transparent 0);background-size:22px 22px;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;transition:background-color .4s var(--ease),color .4s var(--ease)}:root[data-theme=dark] body{background-image:radial-gradient(circle at 1px 1px,rgba(242,236,218,.03) 1px,transparent 0)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;letter-spacing:-.01em}.markdown-content{color:var(--ink-soft);line-height:1.85}.markdown-content>*:first-child{margin-top:0}.markdown-content>*:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{color:var(--ink);margin:1.45em 0 .55em}.markdown-content h1{font-size:clamp(1.8rem,4vw,2.7rem)}.markdown-content h2{font-size:clamp(1.35rem,3vw,1.9rem);padding-bottom:.35em;border-bottom:1px solid var(--line)}.markdown-content h3{font-size:1.16rem}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre,.markdown-content table,.markdown-content img{margin:0 0 1em}.markdown-content ul,.markdown-content ol{padding-left:1.45em}.markdown-content li+li{margin-top:.25em}.markdown-content a{color:var(--amber-deep);text-decoration:underline;text-underline-offset:3px}.markdown-content blockquote{padding:.85em 1em;border-left:4px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;background:color-mix(in srgb,var(--yellow) 12%,transparent)}.markdown-content code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;letter-spacing:0;padding:.15em .38em;border-radius:5px;background:var(--paper-2);color:var(--ink)}.markdown-content pre{overflow-x:auto;padding:1em;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-2)}.markdown-content pre code{padding:0;background:transparent}.markdown-content img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}.markdown-content table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.markdown-content th,.markdown-content td{padding:.7em .85em;border:1px solid var(--line);text-align:left}.markdown-content th{color:var(--ink);background:color-mix(in srgb,var(--olive) 12%,transparent)}.markdown-article h1,.markdown-editor--article .md-editor-preview h1{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:24px}.markdown-article h2,.markdown-editor--article .md-editor-preview h2{font-size:clamp(1.45rem,3vw,2rem);margin:34px 0 14px}.markdown-article h3,.markdown-editor--article .md-editor-preview h3{font-size:1.18rem;margin:24px 0 10px}.markdown-article p,.markdown-article li,.markdown-editor--article .md-editor-preview p,.markdown-editor--article .md-editor-preview li{color:var(--ink-soft);font-size:1.02rem;line-height:1.9}.markdown-article p,.markdown-editor--article .md-editor-preview p{margin-bottom:16px}.markdown-article ul,.markdown-editor--article .md-editor-preview ul{padding-left:24px;margin:0 0 18px}.markdown-article pre,.markdown-editor--article .md-editor-preview pre{border-radius:6px;padding:2px 7px;background:var(--paper-2)}.markdown-article code,.markdown-editor--article .md-editor-preview code{color:var(--ink)}.markdown-article a,.markdown-editor--article .md-editor-preview a{color:var(--amber-deep);text-decoration:underline;text-underline-offset:3px}.markdown-editor,.markdown-editor *{letter-spacing:0}.markdown-editor .cm-editor,.markdown-editor .cm-content,.markdown-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:400;line-height:1.75}.markdown-editor .md-editor-preview-wrapper{font-family:var(--font-body)}.markdown-style-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;margin:8px 0 10px;border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb,var(--card) 82%,var(--paper-2) 18%)}.style-control{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:.88rem;font-weight:700}.style-control input[type=color]{width:34px;height:28px;padding:2px;border:1px solid var(--line-strong);border-radius:6px;background:var(--card)}.style-btn{min-height:30px;padding:5px 11px;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--ink);font-size:.85rem;font-weight:800}.style-btn:hover{border-color:var(--amber);color:var(--amber-deep)}.style-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--amber) 42%,transparent);outline-offset:2px}.markdown-editor.md-editor{--md-color: #24292f;--md-bk-color: #fff;--md-bk-color-outstand: #f6f8fa;--md-bk-hover-color: #eef2f6;--md-border-color: #d8dee4;--md-border-hover-color: #afb8c1;--md-border-active-color: #6f8b56;border:1px solid #d8dee4;border-radius:8px;background:#fff;box-shadow:0 10px 28px #1f232814}:root[data-theme=dark] .markdown-editor.md-editor{--md-color: #e6edf3;--md-bk-color: #0d1117;--md-bk-color-outstand: #161b22;--md-bk-hover-color: #21262d;--md-border-color: #30363d;--md-border-hover-color: #484f58;--md-border-active-color: var(--olive);border-color:#30363d;background:#0d1117;box-shadow:0 16px 36px #0000005c}.markdown-editor .md-editor-toolbar-wrapper{min-height:44px;padding:5px 8px;border-bottom:1px solid var(--md-border-color);background:var(--md-bk-color-outstand)}.markdown-editor .md-editor-toolbar{min-height:34px}.markdown-editor .md-editor-toolbar-item{width:30px;min-width:30px;height:30px;justify-content:center;border-radius:6px}.markdown-editor .md-editor-toolbar-item-name{display:none}.markdown-editor .md-editor-content{background:var(--md-bk-color)}.markdown-editor .md-editor-content-wrapper{background:linear-gradient(90deg,transparent calc(50% - 1px),var(--md-border-color) calc(50% - 1px),var(--md-border-color) 50%,transparent 50%),var(--md-bk-color)}.markdown-editor .md-editor-resize-operate{width:1px;background:var(--md-border-color)}.markdown-editor .md-editor-input-wrapper,.markdown-editor .md-editor-preview-wrapper{background:var(--md-bk-color)}.markdown-editor .cm-editor{color:var(--md-color);background:var(--md-bk-color)}.markdown-editor .cm-scroller{padding:18px 0}.markdown-editor .cm-content{max-width:760px;margin:0 auto!important;padding:0 32px!important;caret-color:var(--olive)}.markdown-editor .cm-line{padding:0}.markdown-editor .cm-gutters{border-right:1px solid var(--md-border-color);background:var(--md-bk-color-outstand);color:#8c959f}.markdown-editor .cm-activeLine,.markdown-editor .cm-activeLineGutter{background:color-mix(in srgb,var(--olive) 8%,transparent)}.markdown-editor .md-editor-preview-wrapper{padding:22px 30px}.markdown-editor .md-editor-preview{max-width:760px;margin:0 auto;color:var(--ink-soft);line-height:1.85}.markdown-editor .md-editor-preview>*:first-child{margin-top:0}.markdown-editor .md-editor-preview>*:last-child{margin-bottom:0}.markdown-editor .md-editor-preview h1,.markdown-editor .md-editor-preview h2,.markdown-editor .md-editor-preview h3,.markdown-editor .md-editor-preview h4{color:var(--ink);margin:1.45em 0 .55em}.markdown-editor .md-editor-preview h1{font-size:clamp(1.8rem,4vw,2.7rem)}.markdown-editor .md-editor-preview h2{font-size:clamp(1.35rem,3vw,1.9rem);padding-bottom:.35em;border-bottom:1px solid var(--line)}.markdown-editor .md-editor-preview h3{font-size:1.16rem}.markdown-editor .md-editor-preview p,.markdown-editor .md-editor-preview ul,.markdown-editor .md-editor-preview ol,.markdown-editor .md-editor-preview blockquote,.markdown-editor .md-editor-preview pre,.markdown-editor .md-editor-preview table,.markdown-editor .md-editor-preview img{margin:0 0 1em}.markdown-editor .md-editor-preview ul,.markdown-editor .md-editor-preview ol{padding-left:1.45em}.markdown-editor .md-editor-preview li+li{margin-top:.25em}.markdown-editor .md-editor-preview a{color:var(--amber-deep);text-decoration:underline;text-underline-offset:3px}.markdown-editor .md-editor-preview blockquote{padding:.85em 1em;border-left:4px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;background:color-mix(in srgb,var(--yellow) 12%,transparent)}.markdown-editor .md-editor-preview code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em;letter-spacing:0;padding:.15em .38em;border-radius:5px;background:var(--paper-2);color:var(--ink)}.markdown-editor .md-editor-preview pre{overflow-x:auto;padding:1em;border-radius:var(--radius);border:1px solid var(--line);background:var(--paper-2)}.markdown-editor .md-editor-preview pre code{padding:0;background:transparent}.markdown-editor .md-editor-preview img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}.markdown-editor .md-editor-preview table{width:100%;border-collapse:collapse;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.markdown-editor .md-editor-preview th,.markdown-editor .md-editor-preview td{padding:.7em .85em;border:1px solid var(--line);text-align:left}.markdown-editor .md-editor-preview th{color:var(--ink);background:color-mix(in srgb,var(--olive) 12%,transparent)}.markdown-editor--project .md-editor-preview{font-size:.97rem}.markdown-editor--article .md-editor-preview{font-size:1.02rem;line-height:1.9}@media(max-width:820px){.markdown-editor.md-editor{height:560px!important}.markdown-editor .md-editor-content-wrapper{background:var(--md-bk-color)}.markdown-editor .md-editor-preview-wrapper{padding:18px}.markdown-editor .cm-content{padding:0 20px!important}}.ma-auto{margin:0 auto}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.section{padding:clamp(40px,10vw,80px) 0}@media(max-width:600px){.section{padding:clamp(20px,10vw,60px) 0}}.eyebrow{font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--amber-deep);display:inline-flex;align-items:center;gap:10px}.eyebrow:before{content:"";width:26px;height:2px;background:var(--amber);display:inline-block}.section-title{font-size:clamp(1.9rem,4vw,2.8rem);margin:14px 0 0}@media(max-width:600px){.section-title{font-size:clamp(1.5rem,4vw,2.5rem)}}.mark{background:linear-gradient(120deg,transparent 0 6%,var(--yellow) 6% 94%,transparent 94%);background-repeat:no-repeat;background-size:100% 42%;background-position:0 82%;padding:0 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:999px;font-weight:500;font-size:.98rem;border:1.5px solid transparent;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease)}.btn-primary{background:var(--amber);color:#fff;box-shadow:var(--shadow-sm)}:root[data-theme=dark] .btn-primary{color:#201d18}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--amber);color:var(--amber-deep)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}input,textarea,select{font-family:inherit;font-size:.98rem;color:var(--ink);background:var(--card);border:1.5px solid var(--line-strong);border-radius:var(--radius);padding:12px 15px;width:100%;transition:border-color .2s var(--ease)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--amber)}label{font-size:.86rem;font-weight:500;color:var(--ink-soft);display:block;margin-bottom:6px}:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
