/*!
 * Project: Heti
 * URL: https://github.com/sivan/heti
 * Author: Sivan [sun.sivan@gmail.com]
 */
@font-face{font-family:Heti Hei;src:"Heti Hei SC","Heti Hei TC","Heti Hei JP","Heti Hei KR"}@font-face{font-family:Heti Hei SC;src:local(PingFang SC Regular),local(Heiti SC Regular),local(Microsoft YaHei),local(Source Han Sans CN Regular),local(Noto Sans CJK SC Regular),local(WenQuanYi Micro Hei),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei TC;src:local(PingFang TC Regular),local(Heiti TC Regular),local(Microsoft Jhenghei),local(Source Han Sans HK Regular),local(Source Han Sans TW Regular),local(Noto Sans CJK TC Regular),local(WenQuanYi Micro Hei),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei JP;src:local(Hiragino Sans GB W3),local(Source Han Sans JP Regular),local(Noto Sans CJK JP Regular),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei KR;src:local(Source Han Sans KR Regular),local(Noto Sans CJK KR Regular),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei;font-weight:200;src:"Heti Hei SC Light","Heti Hei TC Light","Heti Hei JP Light","Heti Hei KR Light"}@font-face{font-family:Heti Hei SC Light;font-weight:200;src:local("PingFang SC Light"),local("Heiti SC Light"),"Heti Hei SC Light Fallback",local("Source Han Sans CN Light"),local("Noto Sans CJK SC Light")}@font-face{font-family:Heti Hei TC Light;font-weight:200;src:local(PingFang TC Light),local(Heiti TC Light),local(Microsoft Jhenghei Light),local(Source Han Sans HK Light),local(Source Han Sans TW Light),local(Noto Sans CJK TC Light)}@font-face{font-family:Heti Hei JP Light;font-weight:200;src:local(Source Han Sans JP Light),local(Noto Sans CJK JP Light)}@font-face{font-family:Heti Hei KR Light;font-weight:200;src:local(Source Han Sans KR Light),local(Noto Sans CJK KR Light)}@font-face{font-family:Heti Hei SC Light Fallback;font-weight:200;src:local(Microsoft YaHei),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei;font-weight:600;src:"Heti Hei SC Bold","Heti Hei TC Bold","Heti Hei JP Bold","Heti Hei KR Bold"}@font-face{font-family:Heti Hei SC Bold;font-weight:600;src:local("PingFang SC Medium"),local("Heiti SC Medium"),"Heti Hei SC Bold Fallback",local("Source Han Sans CN Bold"),local("Noto Sans CJK SC Bold")}@font-face{font-family:Heti Hei TC Bold;font-weight:600;src:local(PingFang TC Medium),local(Heiti TC Medium),local(Microsoft Jhenghei Bold),local(Source Han Sans HK Bold),local(Source Han Sans TW Bold),local(Noto Sans CJK TC Bold)}@font-face{font-family:Heti Hei JP Bold;font-weight:600;src:local(Hiragino Sans GB W6),local(Source Han Sans JP Bold),local(Noto Sans CJK JP Bold)}@font-face{font-family:Heti Hei KR Bold;font-weight:600;src:local(Source Han Sans KR Bold),local(Noto Sans CJK KR Bold)}@font-face{font-family:Heti Hei SC Bold Fallback;font-weight:600;src:local(Microsoft YaHei),local(Droid Sans Fallback)}@font-face{font-family:Heti Hei Black;font-weight:800;src:"Heti Hei SC Black","Heti Hei TC Black","Heti Hei JP Black","Heti Hei KR Black"}@font-face{font-family:Heti Hei SC Black;font-weight:800;src:local("Lantinghei SC Heavy"),local("PingFang SC Semibold"),local("Heiti SC Medium"),"Heti Hei SC Black Fallback",local("Source Han Sans CN Heavy"),local("Noto Sans CJK SC Heavy")}@font-face{font-family:Heti Hei TC Black;font-weight:800;src:local(Lantinghei TC Heavy),local(PingFang TC Semibold),local(Heiti TC Medium),local(Microsoft Jhenghei Bold),local(Source Han Sans HK Heavy),local(Source Han Sans TW Heavy),local(Noto Sans CJK TC Heavy)}@font-face{font-family:Heti Hei JP Black;font-weight:800;src:local(Hiragino Sans GB W6),local(Source Han Sans JP Heavy),local(Noto Sans CJK JP Heavy)}@font-face{font-family:Heti Hei KR Black;font-weight:800;src:local(Source Han Sans KR Heavy),local(Noto Sans CJK KR Heavy)}@font-face{font-family:Heti Hei SC Black Fallback;font-weight:800;src:local(Microsoft YaHei),local(Droid Sans Fallback)}@font-face{font-family:Heti Song;src:local(Songti SC Regular),local(Songti TC Regular),local(SimSun)}@font-face{font-family:Heti Song;font-weight:200;src:local("Songti SC Light"),local("Songti TC Light"),"Heti Song Light Fallback"}@font-face{font-family:Heti Song Light Fallback;font-weight:200;src:local(SimSun)}@font-face{font-family:Heti Song;font-weight:600;src:local("Songti SC Bold"),local("Songti TC Bold"),"Heti Song Bold Fallback"}@font-face{font-family:Heti Song Bold Fallback;font-weight:600;src:local(SimSun)}@font-face{font-family:Heti Song Black;font-weight:800;src:local(Songti SC Black),local(SimSun)}@font-face{font-family:Heti Kai;src:local(Kaiti SC Regular),local(Kaiti TC Regular),local(STKaiti),local(Kaiti),local(BiauKai)}@font-face{font-family:Heti Kai;font-weight:600;src:local(Kaiti SC Bold),local(Kaiti TC Bold)}@font-face{font-family:Heti Kai Bold Fallback;font-weight:600;src:local("STKaiti"),local("Kaiti") local("BiauKai")}@font-face{font-family:Heti Kai Black;font-weight:800;src:local(Kaiti SC Black),local(Kaiti TC Black),local(STKaiti),local(Kaiti)}.heti{-webkit-font-smoothing:subpixel-antialiased;overflow-wrap:break-word;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.02em;max-width:42em;font-size:16px;font-weight:400;line-height:1.5}.heti:before,.heti:after{content:"";display:table}.heti:after{clear:both}.heti>:first-child,.heti section>:first-child,.heti td>:first-child{margin-block-start:0!important}.heti>:last-child,.heti section>:last-child,.heti td>:last-child{margin-block-end:0!important}.heti blockquote{background-color:#0000000e;margin-block:12px 24px;margin-inline:32px;padding-block:12px;padding-inline:16px}@media (prefers-color-scheme:dark){.heti blockquote{background-color:#ffffff0e}}.heti figure{text-align:center;display:block}.heti figure>img{margin-inline:auto;display:block}.heti hr{background-color:#ccc;border:0;block-size:1px;inline-size:30%;margin-block:48px 47px;margin-inline:auto}@media (prefers-color-scheme:dark){.heti hr{background-color:#404040}}.heti p{text-align:justify;margin-block:12px 24px}.heti p:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti p:not(:lang(zh)){text-align:start}.heti pre{white-space:pre;word-wrap:normal;background-color:#0000000e;border-radius:4px;margin-block:12px;margin-inline:0;padding-block:12px;padding-inline:16px;font-family:SFMono-Regular,consolas,Liberation Mono,menlo,courier,monospace,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;overflow:auto}@media (prefers-color-scheme:dark){.heti pre{background-color:#ffffff0e}}.heti pre code{color:inherit;background-color:#0000;border:0;border-radius:0;margin:0;padding:0}.heti:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti:not(:lang(zh)){letter-spacing:0}.heti a,.heti abbr,.heti code,.heti heti-spacing,.heti [lang=en-US]{letter-spacing:normal}.heti h1,.heti h2,.heti h3,.heti h4,.heti h5,.heti h6{margin:0;margin-block:24px 12px;font-weight:600;position:relative}.heti h1{margin-block-end:24px;font-size:32px;line-height:48px}.heti h2{font-size:24px;line-height:36px}.heti h3{font-size:20px;line-height:36px}.heti h4{font-size:18px;line-height:24px}.heti h5{font-size:16px;line-height:24px}.heti h6{font-size:14px;line-height:24px}.heti h1,.heti h2,.heti h3{letter-spacing:.05em}.heti h1:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti h1:not(:lang(zh)),.heti h2:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti h2:not(:lang(zh)),.heti h3:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti h3:not(:lang(zh)){letter-spacing:0}.heti h1+h2,.heti h2+h3,.heti h3+h4,.heti h4+h5,.heti h5+h6{margin-block-start:12px}.heti ul,.heti ol,.heti dl{margin-block:12px 24px}.heti ul,.heti ol{padding-inline-start:32px}.heti ul ul,.heti ul ol,.heti ol ul,.heti ol ol{margin-block:0}.heti ul{list-style-type:disc}.heti ol{list-style-type:decimal}.heti ul ul,.heti ol ul{list-style-type:circle}.heti ul ul ul,.heti ul ol ul,.heti ol ul ul,.heti ol ol ul{list-style-type:square}.heti li{list-style-type:unset}.heti table{box-sizing:border-box;table-layout:fixed;border-collapse:collapse;word-break:break-word;border:1px solid #ccc;margin-block:12px 24px;margin-inline:auto}@media (prefers-color-scheme:dark){.heti table{border-color:#404040}}.heti th,.heti td{border:1px solid #ccc;padding-block:6px;padding-inline:8px}@media (prefers-color-scheme:dark){.heti th,.heti td{border-color:#404040}}.heti caption{caption-side:bottom;margin-block:2px -4px;font-size:14px;line-height:24px}.heti a{text-decoration:none}.heti a:hover{border-block-end:1px solid;padding-block-end:1px;text-decoration:none}.heti abbr[title]{cursor:help;border-block-end:1px dotted;padding-block-end:1px;text-decoration:none}.heti b,.heti strong{font-weight:600}.heti code{margin-inline:.25em;font-family:SFMono-Regular,consolas,Liberation Mono,menlo,courier,monospace,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.875em}.heti dfn{font-weight:600}.heti dfn:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti dfn:not(:lang(zh)){font-weight:400}.heti em{font-weight:600}.heti figcaption{vertical-align:top;text-align:start;font-size:14px;display:inline-block}.heti i{font-style:italic}.heti ins,.heti u{border-block-end:1px solid;padding-block-end:1px;text-decoration:none}.heti mark{color:inherit;background-color:#fff700e0;margin-inline:1px;padding-block:2px;padding-inline:1px}@media (prefers-color-scheme:dark){.heti mark{background-color:#4d4a00e0}}.heti q{quotes:"「" "」" "『" "』"}.heti q:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti q:not(:lang(zh)){quotes:initial;quotes:auto}.heti rt{font-size:.875em;font-weight:400}.heti small{font-size:.875em}.heti strong{font-weight:600}.heti sub,.heti sup{vertical-align:baseline;margin-inline:.25em;font-family:Helvetica Neue,helvetica,arial,Heti Hei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:.75em;font-style:normal;line-height:1;position:relative}.heti sub{bottom:-.25em}.heti sup{top:-.5em}.heti sup:target,.heti sup a:target{background-color:#dbedff}@media (prefers-color-scheme:dark){.heti sup:target,.heti sup a:target{background-color:#3a6188}}.heti summary{cursor:pointer;outline:0;padding-inline-start:1em}.heti summary::-webkit-details-marker{width:.6em;margin-inline-end:.4em}.heti u[title]{cursor:help;border-block-end:3px double #0000008a}@media (prefers-color-scheme:dark){.heti u[title]{border-block-end-color:#ffffff8a}}.heti address,.heti cite,.heti dfn,.heti dt,.heti em{font-style:normal}.heti address:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti address:not(:lang(zh)),.heti cite:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti cite:not(:lang(zh)),.heti dfn:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti dfn:not(:lang(zh)),.heti dt:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti dt:not(:lang(zh)),.heti em:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti em:not(:lang(zh)){font-style:italic}.heti abbr[title],.heti del,.heti ins,.heti s,.heti u{margin-inline:1px}.heti,.heti--sans{font-family:Helvetica Neue,helvetica,arial,Heti Hei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--serif,.heti--classic{font-family:Times New Roman,times,Heti Song,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--classic h1,.heti--classic h2,.heti--classic h3,.heti--classic h4,.heti--classic h5,.heti--classic h6{font-family:Times New Roman,times,Heti Kai Black,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-weight:800}.heti--classic blockquote,.heti--classic cite,.heti--classic q{font-family:Times New Roman,times,Heti Kai,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--classic figcaption,.heti--classic caption,.heti--classic th,.heti--hei{font-family:Helvetica Neue,helvetica,arial,Heti Hei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--song{font-family:Times New Roman,times,Heti Song,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--kai{font-family:Times New Roman,times,Heti Kai,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--columns-1,.heti--columns-2,.heti--columns-3,.heti--columns-4,.heti--columns-16em,.heti--columns-20em,.heti--columns-24em,.heti--columns-28em,.heti--columns-32em,.heti--columns-36em,.heti--columns-40em,.heti--columns-44em,.heti--columns-48em,.heti comma{column-gap:2em;max-width:none}.heti--columns-1 p,.heti--columns-2 p,.heti--columns-3 p,.heti--columns-4 p,.heti--columns-16em p,.heti--columns-20em p,.heti--columns-24em p,.heti--columns-28em p,.heti--columns-32em p,.heti--columns-36em p,.heti--columns-40em p,.heti--columns-44em p,.heti--columns-48em p,.heti comma p{text-indent:2em;margin-block:6px 12px}.heti--columns-1{column-count:1}.heti--columns-2{column-count:2}.heti--columns-3{column-count:3}.heti--columns-4{column-count:4}.heti--columns-16em{column-width:16em}.heti--columns-20em{column-width:20em}.heti--columns-24em{column-width:24em}.heti--columns-28em{column-width:28em}.heti--columns-32em{column-width:32em}.heti--columns-36em{column-width:36em}.heti--columns-40em{column-width:40em}.heti--columns-44em{column-width:44em}.heti--columns-48em{column-width:48em}.heti--vertical{writing-mode:vertical-rl;letter-spacing:.125em;max-width:none;max-height:42em}.heti--vertical h1,.heti--vertical h2,.heti--vertical h3,.heti--vertical h4,.heti--vertical h5,.heti--vertical h6{text-align:start}.heti--vertical q{quotes:"「" "」" "『" "』"}.heti--ancient,.heti--poetry{font-family:Times New Roman,times,Heti Song,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.heti--ancient h1,.heti--ancient h2,.heti--ancient h3,.heti--ancient h4,.heti--ancient h5,.heti--ancient h6,.heti--poetry h1,.heti--poetry h2,.heti--poetry h3,.heti--poetry h4,.heti--poetry h5,.heti--poetry h6{text-align:center;font-family:Times New Roman,times,Heti Kai Black,serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-weight:800}.heti--ancient h1 .heti-meta,.heti--ancient h2 .heti-meta,.heti--ancient h3 .heti-meta,.heti--ancient h4 .heti-meta,.heti--ancient h5 .heti-meta,.heti--ancient h6 .heti-meta,.heti--poetry h1 .heti-meta,.heti--poetry h2 .heti-meta,.heti--poetry h3 .heti-meta,.heti--poetry h4 .heti-meta,.heti--poetry h5 .heti-meta,.heti--poetry h6 .heti-meta{font-weight:400}@media screen and (width>=640px){.heti--ancient h1 .heti-meta,.heti--ancient h2 .heti-meta,.heti--ancient h3 .heti-meta,.heti--ancient h4 .heti-meta,.heti--ancient h5 .heti-meta,.heti--ancient h6 .heti-meta,.heti--poetry h1 .heti-meta,.heti--poetry h2 .heti-meta,.heti--poetry h3 .heti-meta,.heti--poetry h4 .heti-meta,.heti--poetry h5 .heti-meta,.heti--poetry h6 .heti-meta{line-height:inherit;text-indent:0;margin-block-start:4px;margin-inline-start:8px;display:inline;position:absolute}}.heti--ancient .heti-meta,.heti--poetry .heti-meta{text-align:center;text-indent:0;line-height:24px}.heti--ancient p{text-indent:2em}.heti--poetry p{text-align:center;text-indent:0}.heti--annotation p{text-indent:2em;margin-block:0;line-height:2.25}.heti--annotation em{font-weight:400;text-emphasis:circle;text-emphasis-position:under}.heti--annotation em:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti--annotation em:not(:lang(zh)){text-emphasis:none}.heti--annotation .heti-meta{margin-block:12px 24px}.heti .heti-meta{text-indent:0;display:block}.heti .heti-verse{text-align:center;text-indent:0}.heti .heti-large{font-size:18px;line-height:24px}.heti .heti-x-large{letter-spacing:.05em;font-size:20px;line-height:30px}.heti .heti-small{font-size:14px;line-height:24px}.heti .heti-x-small{font-size:12px;line-height:18px}.heti .heti-list-latin{list-style-type:upper-latin}.heti .heti-list-latin ol{list-style-type:lower-roman}.heti .heti-list-latin ol ol{list-style-type:lower-latin}.heti .heti-list-han{list-style-type:cjk-ideographic}.heti .heti-list-han ol{list-style-type:decimal}.heti .heti-list-han ol ol{list-style-type:decimal-leading-zero}.heti .heti-fn{border-block-start:1px solid #ccc;margin-block-start:59px;font-family:Helvetica Neue,helvetica,arial,Heti Hei,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:14px;line-height:24px}@media (prefers-color-scheme:dark){.heti .heti-fn{border-block-start-color:#404040}}.heti .heti-fn ol{margin-block:12px 0}.heti .heti-fn li:target{background-color:#dbedff}@media (prefers-color-scheme:dark){.heti .heti-fn li:target{background-color:#3a6188}}.heti .heti-hang{line-height:inherit;text-indent:0;position:absolute}.heti .heti-em{text-emphasis:circle;text-emphasis-position:under}.heti .heti-em:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)),.heti .heti-em:not(:lang(zh)){text-emphasis:none}.heti .heti-ruby--inline{vertical-align:top;flex-direction:column-reverse;height:1.5em;display:inline-flex}.heti .heti-ruby--inline rt{text-align:center;margin-bottom:-.25em;line-height:1;display:inline}.heti heti-spacing{display:inline}.heti heti-spacing+sup,.heti heti-spacing+sub{margin-inline-start:0}.heti .heti-spacing-start{margin-inline-end:.25em}.heti .heti-spacing-end{margin-inline-start:.25em}.heti heti-adjacent{text-spacing-trim:space-all;unicode-bidi:isolate;display:inline}.heti .heti-adjacent-half{margin-inline-end:-.5em}.heti .heti-adjacent-quarter{margin-inline-end:-.25em}:root{--color-primary:#1a1a2e;--color-primary-hover:#16213e;--color-accent:#e07a5f;--color-accent-hover:#c96a52;--color-accent-light:#e07a5f14;--color-text:#1a1a1a;--color-text-secondary:#6b6b6b;--color-text-tertiary:#a0a0a0;--color-text-muted:#c8c8c8;--color-bg:#faf9f7;--color-bg-card:#fff;--color-bg-secondary:#f5f4f1;--color-bg-hover:#f0efec;--color-bg-code:#f8f7f5;--color-border:#e8e6e1;--color-border-light:#f0eeea;--color-border-subtle:#f5f3ef;--color-danger:#c0392b;--color-success:#27ae60;--color-warning:#f39c12;--font-sans:"Inter", -apple-system, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;--font-serif:"Noto Serif SC", "Source Han Serif SC", "Songti SC", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace;--font-display:var(--font-sans);--radius:6px;--radius-lg:12px;--radius-xl:16px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 1px 3px #0000000a, 0 1px 2px #00000005;--shadow-md:0 4px 12px #0000000d;--shadow-lg:0 8px 24px #0000000f;--shadow-card:var(--shadow-sm);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--content-width:720px;--page-width:960px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);letter-spacing:.01em;line-height:1.75;overflow-x:hidden}::selection{color:var(--color-text);background:#e07a5f26}a{color:var(--color-text);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}.btn{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-card);color:var(--color-text);font-size:.875rem;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);letter-spacing:.01em;align-items:center;gap:.5rem;padding:.55rem 1.4rem;font-weight:450;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--color-text-tertiary);background:var(--color-bg-secondary);color:var(--color-text)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.btn-danger{color:var(--color-danger);border-color:#c0392b33}.btn-danger:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.btn-sm{padding:.35rem .85rem;font-size:.8125rem}input[type=text],textarea{border:1px solid var(--color-border);border-radius:var(--radius);width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg-card);transition:all var(--transition-base);padding:.65rem 1rem;font-size:.9375rem;line-height:1.6}input[type=text]:focus,textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #e07a5f14}.tag{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);letter-spacing:.02em;background:0 0;border-radius:999px;align-items:center;padding:.2rem .7rem;font-size:.75rem;display:inline-flex}.tag:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.tag.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-weight:700;line-height:1.35;font-family:var(--font-sans);color:var(--color-text);letter-spacing:-.01em;margin-top:2em;margin-bottom:.75em}.markdown-body h1{font-size:1.875rem;line-height:1.3}.markdown-body h2{border-bottom:1px solid var(--color-border-light);padding-bottom:.5em;font-size:1.5rem}.markdown-body h3{font-size:1.25rem}.markdown-body h4{font-size:1.0625rem}.markdown-body p{text-align:justify;margin-bottom:1.75em;line-height:1.9}.markdown-body ul,.markdown-body ol{margin-bottom:1.75em;padding-left:1.75em}.markdown-body li{margin-bottom:.35em;line-height:1.8}.markdown-body code{font-family:var(--font-mono);color:var(--color-accent);background:var(--color-bg-code);border-radius:4px;margin:0 .2em;padding:.15em .45em;font-size:.85em}.markdown-body pre{background:var(--color-bg-code);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);font-family:var(--font-mono);white-space:pre;word-wrap:normal;margin-bottom:1.75em;padding:1.25rem 1.5rem;line-height:1.65;overflow-x:auto}.markdown-body pre code{color:var(--color-text);background:0 0;border:none;border-radius:0;margin:0;padding:0;font-size:.875em}.markdown-body blockquote{color:var(--color-text-secondary);background:var(--color-bg-secondary);border-left:3px solid var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;margin:1.5em 0;padding:1rem 1.5rem}.markdown-body blockquote p:last-child{margin-bottom:0}.markdown-body img{border-radius:var(--radius);max-width:100%;margin:2em auto;display:block}.markdown-body hr{background:var(--color-border);border:none;width:60px;height:1px;margin:3.5rem auto}.markdown-body table{box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border:1px solid var(--color-border);word-break:break-word;border-radius:var(--radius);width:100%;margin-bottom:1.75em;overflow:hidden}.markdown-body th,.markdown-body td{border:1px solid var(--color-border);text-align:left;padding:.5rem .75rem;line-height:1.6}.markdown-body th{color:var(--color-text);background:var(--color-bg-secondary);font-weight:600}.markdown-body a{color:var(--color-accent);transition:color var(--transition-fast);border-bottom:1px solid #0000;text-decoration:none}.markdown-body a:hover{border-bottom-color:var(--color-accent)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.heti--vertical{writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.125em;max-height:42em;padding:2rem;overflow:auto hidden}.heti--vertical img,.heti--vertical video{width:auto;max-width:none;max-height:80%}.heti--vertical pre{writing-mode:horizontal-tb;max-width:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#d4d2cd;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#b8b5af}.page-enter-active{animation:.35s fadeIn}.page-leave-active{animation:.2s reverse fadeIn}.visitor-layout[data-v-61ddb5b2]{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.visitor-header[data-v-61ddb5b2]{z-index:100;-webkit-backdrop-filter:blur(12px);transition:all var(--transition-base);background:#faf9f7d9;border-bottom:1px solid #0000;position:sticky;top:0}.header--scrolled[data-v-61ddb5b2]{border-bottom-color:var(--color-border-light)}.header--hidden[data-v-61ddb5b2]{pointer-events:none;transform:translateY(-100%)}.visitor-nav[data-v-61ddb5b2]{max-width:var(--page-width);justify-content:space-between;align-items:center;margin:0 auto;padding:1.1rem 2rem;display:flex}.site-brand[data-v-61ddb5b2]{text-decoration:none}.site-name[data-v-61ddb5b2]{font-size:1.05rem;font-weight:600;font-family:var(--font-sans);color:var(--color-text);letter-spacing:.06em;transition:color var(--transition-fast)}.site-brand:hover .site-name[data-v-61ddb5b2]{color:var(--color-accent)}.nav-links[data-v-61ddb5b2]{align-items:center;gap:2rem;display:flex}.nav-link[data-v-61ddb5b2]{color:var(--color-text-secondary);letter-spacing:.02em;transition:color var(--transition-fast);font-size:.875rem;font-weight:450;text-decoration:none;position:relative}.nav-link[data-v-61ddb5b2]:after{content:"";background:var(--color-accent);width:0;height:1.5px;transition:width var(--transition-base);border-radius:999px;position:absolute;bottom:-4px;left:0}.nav-link[data-v-61ddb5b2]:hover{color:var(--color-text)}.nav-link[data-v-61ddb5b2]:hover:after{width:100%}.nav-link.router-link-active[data-v-61ddb5b2]{color:var(--color-text)}.nav-link.router-link-active[data-v-61ddb5b2]:after{width:100%}.nav-link--subtle[data-v-61ddb5b2]{opacity:.35;font-size:.8125rem}.nav-link--subtle[data-v-61ddb5b2]:hover{opacity:.7}.visitor-main[data-v-61ddb5b2]{max-width:var(--content-width);flex:1;width:100%;margin:0 auto;padding:2.5rem 2rem 4rem}.visitor-footer[data-v-61ddb5b2]{margin-top:auto;padding:0 2rem 3rem}.footer-inner[data-v-61ddb5b2]{max-width:var(--content-width);text-align:center;margin:0 auto}.footer-divider[data-v-61ddb5b2]{background:var(--color-border);width:32px;height:1px;margin:0 auto 1.25rem}.footer-text[data-v-61ddb5b2]{color:var(--color-text-muted);letter-spacing:.04em;font-size:.8rem}@media (width<=768px){.visitor-nav[data-v-61ddb5b2]{padding:.85rem 1.25rem}.site-name[data-v-61ddb5b2]{font-size:.95rem}.nav-links[data-v-61ddb5b2]{gap:1.25rem}.visitor-main[data-v-61ddb5b2]{padding:1.5rem 1.25rem 3rem}}.admin-layout[data-v-9dcad8b8]{min-height:100vh;display:flex}.admin-sidebar[data-v-9dcad8b8]{background:var(--color-bg-card);border-right:1px solid var(--color-border-light);flex-direction:column;flex-shrink:0;width:240px;display:flex}.sidebar-brand[data-v-9dcad8b8]{border-bottom:1px solid var(--color-border-light);padding:1.5rem 1.5rem 1.25rem}.brand-link[data-v-9dcad8b8]{align-items:center;gap:.6rem;text-decoration:none;display:flex}.brand-name[data-v-9dcad8b8]{color:var(--color-text);letter-spacing:.04em;font-size:1rem;font-weight:600}.brand-badge[data-v-9dcad8b8]{color:var(--color-accent);background:var(--color-accent-light);letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:500}.sidebar-nav[data-v-9dcad8b8]{flex-direction:column;flex:1;padding:.75rem 0;display:flex}.nav-item[data-v-9dcad8b8]{color:var(--color-text-secondary);transition:all var(--transition-fast);border-left:2px solid #0000;align-items:center;gap:.65rem;padding:.65rem 1.5rem;font-size:.9rem;font-weight:450;text-decoration:none;display:flex}.nav-item[data-v-9dcad8b8]:hover{background:var(--color-bg-secondary);color:var(--color-text)}.nav-item.router-link-exact-active[data-v-9dcad8b8]{color:var(--color-accent);background:var(--color-accent-light);border-left-color:var(--color-accent)}.sidebar-footer[data-v-9dcad8b8]{border-top:1px solid var(--color-border-light);padding:.75rem 0}.nav-item--muted[data-v-9dcad8b8]{opacity:.65;font-size:.85rem}.nav-item--muted[data-v-9dcad8b8]:hover{opacity:1}.nav-item--danger[data-v-9dcad8b8]{opacity:.65;cursor:pointer;font-size:.85rem}.nav-item--danger[data-v-9dcad8b8]:hover{opacity:1;background:#c0392b0a;color:var(--color-danger)!important}.admin-main[data-v-9dcad8b8]{background:var(--color-bg);flex:1;padding:2rem 2.5rem;overflow-y:auto}.toast-container[data-v-85517d64]{z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-item[data-v-85517d64]{border-radius:var(--radius-lg,14px);background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#ccc);cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:.6rem;min-width:240px;max-width:400px;padding:.75rem 1.25rem;animation:.35s cubic-bezier(.34,1.56,.64,1) toast-in-85517d64;display:flex;box-shadow:0 8px 24px #0000001f,0 2px 8px #0000000f}.toast-icon[data-v-85517d64]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.72rem;font-weight:700;display:flex}.toast-message[data-v-85517d64]{color:var(--color-text,#000000de);font-size:.875rem;font-weight:500;line-height:1.4}.toast-success[data-v-85517d64]{border-color:#10b98133}.toast-success .toast-icon[data-v-85517d64]{background:linear-gradient(135deg,#10b981,#059669)}.toast-error[data-v-85517d64]{border-color:#ef444433}.toast-error .toast-icon[data-v-85517d64]{background:linear-gradient(135deg,#ef4444,#dc2626)}.toast-warning[data-v-85517d64]{border-color:#f59e0b33}.toast-warning .toast-icon[data-v-85517d64]{background:linear-gradient(135deg,#f59e0b,#d97706)}.toast-info[data-v-85517d64]{border-color:#4387f433}.toast-info .toast-icon[data-v-85517d64]{background:var(--color-primary,#4387f4)}.toast-enter-active[data-v-85517d64]{animation:.35s cubic-bezier(.34,1.56,.64,1) toast-in-85517d64}.toast-leave-active[data-v-85517d64]{animation:.25s cubic-bezier(.4,0,.2,1) forwards toast-out-85517d64}.toast-move[data-v-85517d64]{transition:transform .3s cubic-bezier(.4,0,.2,1)}@keyframes toast-in-85517d64{0%{opacity:0;transform:translate(40px)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out-85517d64{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(40px)scale(.9)}}.modal-overlay[data-v-33006407]{z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-33006407]{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#ccc);border-radius:var(--radius-xl,20px);width:100%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #00000026,0 8px 20px #00000014}.modal-header[data-v-33006407]{padding:1.5rem 1.5rem 0}.modal-title[data-v-33006407]{color:var(--color-text,#000000de);font-size:1.1rem;font-weight:700}.modal-body[data-v-33006407]{padding:.75rem 1.5rem 1.25rem}.modal-body p[data-v-33006407]{color:var(--color-text-secondary,#0000008a);font-size:.9rem;line-height:1.6}.modal-input[data-v-33006407]{border:1px solid var(--color-border,#ccc);border-radius:var(--radius,8px);background:var(--color-bg,#fff);width:100%;color:var(--color-text,#000000de);box-sizing:border-box;outline:none;margin-top:.5rem;padding:.6rem .8rem;font-size:.9rem;transition:border-color .2s}.modal-input[data-v-33006407]:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #e07a5f14}.modal-footer[data-v-33006407]{justify-content:flex-end;gap:.6rem;padding:0 1.5rem 1.5rem;display:flex}.modal-btn[data-v-33006407]{border-radius:var(--radius,8px);cursor:pointer;border:1px solid #0000;padding:.5rem 1.2rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.modal-btn-cancel[data-v-33006407]{background:var(--color-bg-secondary,#f5f5f5);color:var(--color-text-secondary,#0000008a);border-color:var(--color-border,#ccc)}.modal-btn-cancel[data-v-33006407]:hover{background:var(--color-bg-hover,#ebebeb);color:var(--color-text,#000000de)}.modal-btn-confirm[data-v-33006407]{color:#fff}.modal-btn-info[data-v-33006407]{background:var(--color-primary);box-shadow:0 2px 8px #1a1a2e33}.modal-btn-info[data-v-33006407]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1a1a2e4d}.modal-btn-warning[data-v-33006407]{background:var(--color-warning);box-shadow:0 2px 8px #f39c1240}.modal-btn-warning[data-v-33006407]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #f39c1259}.modal-btn-danger[data-v-33006407]{background:var(--color-danger);box-shadow:0 2px 8px #c0392b40}.modal-btn-danger[data-v-33006407]:hover{transform:translateY(-1px);box-shadow:0 4px 16px #c0392b59}.modal-enter-active[data-v-33006407]{animation:.3s cubic-bezier(.34,1.56,.64,1) modal-in-33006407}.modal-leave-active[data-v-33006407]{animation:.2s cubic-bezier(.4,0,.2,1) forwards modal-out-33006407}.modal-enter-active .modal-card[data-v-33006407]{animation:.35s cubic-bezier(.34,1.56,.64,1) modal-card-in-33006407}.modal-leave-active .modal-card[data-v-33006407]{animation:.2s cubic-bezier(.4,0,.2,1) forwards modal-card-out-33006407}@keyframes modal-in-33006407{0%{opacity:0}to{opacity:1}}@keyframes modal-out-33006407{0%{opacity:1}to{opacity:0}}@keyframes modal-card-in-33006407{0%{opacity:0;transform:scale(.9)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes modal-card-out-33006407{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(5px)}}.logo[data-v-fa56bb32]{will-change:filter;height:6em;padding:1.5em;transition:filter .3s}.logo[data-v-fa56bb32]:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.vue[data-v-fa56bb32]:hover{filter:drop-shadow(0 0 2em #42b883aa)}
