@layer tokens,base,components,utilities;@layer components{.ecod_article{background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);padding:var(--ecod-sp-7) var(--ecod-sp-8);margin-top:0}.ecod_article__title{font-size:var(--ecod-fs-4xl);line-height:1.45;letter-spacing:.2px;margin-bottom:var(--ecod-sp-3)}.ecod_article__locktitle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-right:var(--ecod-sp-2);border-radius:var(--ecod-radius);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);vertical-align:3px}.ecod_article__cover{margin:calc(-1 * var(--ecod-sp-7)) calc(-1 * var(--ecod-sp-8)) 20px;line-height:0;position:relative}.ecod_article__cover img{width:100%;height:auto;aspect-ratio:960 / 280;object-fit:cover;border-radius:var(--ecod-radius) var(--ecod-radius) 0 0}.ecod_vcover--hero .ecod_vcover__play{width:72px;height:72px}.ecod_vcover--hero .ecod_vcover__play svg{width:28px;height:28px;margin-left:3px}.ecod_vcover--hero .ecod_vcover__badge{right:14px;bottom:14px;font-size:12px;padding:5px 11px}.ecod_vcover--hero .ecod_vcover__badge svg{width:14px;height:14px}.ecod_article__badges--overlay{position:absolute;left:14px;bottom:14px;margin:0}.ecod_article__badges--overlay .ecod_article__cat{background:#11141c8c;color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media(hover:hover){.ecod_article__badges--overlay .ecod_article__cat:hover{background:var(--ecod-primary-btn);color:#fff}}.ecod_article__badges{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-3)}.ecod_article__cat{display:inline-flex;align-items:center;height:22px;padding:0 var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-2xs);font-weight:600;letter-spacing:.02em;transition:background var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_article__cat:hover{background:var(--ecod-primary-btn);color:#fff}}.ecod_article__author{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) 0 var(--ecod-sp-3);border-bottom:1px solid var(--ecod-line-2);margin-bottom:var(--ecod-sp-3)}.ecod_article__ava{position:relative;width:36px;height:36px;border-radius:var(--ecod-avatar-radius);flex:none;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--ecod-primary) 78%,#fff),var(--ecod-primary));color:#fff;font-size:var(--ecod-fs-md);font-weight:600}.ecod_article__ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ecod_article__ava i{font-style:normal}.ecod_article__who{min-width:0;flex:1}.ecod_article__nm{display:flex;align-items:center;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-ink)}.ecod_article__nm a{color:inherit}@media(hover:hover){.ecod_article__nm a:hover{color:var(--ecod-primary-text)}}.ecod_article__nm em{font-style:normal;font-size:var(--ecod-fs-2xs);font-weight:500;padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);border:1px solid var(--ecod-line);color:var(--ecod-ink-2)}.ecod_article__bio{display:block;margin-top:1px;font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_article__meta{display:flex;align-items:center;gap:var(--ecod-sp-2);flex-wrap:wrap;font-size:var(--ecod-fs-xs);color:var(--ecod-ink-2)}.ecod_article__meta>span,.ecod_article__meta>a{display:inline-flex;align-items:center;gap:var(--ecod-sp-1)}.ecod_article__meta .ecod_meta-sep{font-style:normal;color:var(--ecod-line-strong)}.ecod_article__meta>a{color:var(--ecod-ink-2);transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_article__meta>a:hover{color:var(--ecod-primary-text)}}.ecod_article__meta .ecod_icon{opacity:.75}.ecod_article__metasec{display:flex;align-items:baseline;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-1);font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ecod_article__metasec b{font-weight:600;color:var(--ecod-ink-2);font-variant-numeric:tabular-nums}.ecod_article__metasec a{color:var(--ecod-ink-3);text-decoration:none;transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_article__metasec a:hover{color:var(--ecod-primary-text)}}.ecod_article__metasec .ecod_meta-sep{font-style:normal;color:var(--ecod-line-strong)}.ecod_stack{display:flex;flex-direction:column;gap:0}.ecod_stack>*{border-radius:0;border-bottom:0;margin-top:0;margin-bottom:0}.ecod_stack>*:first-child{border-radius:var(--ecod-radius) var(--ecod-radius) 0 0}.ecod_stack>*:last-child{border-radius:0 0 var(--ecod-radius) var(--ecod-radius);border-bottom:1px solid var(--ecod-border)}.ecod_stack>*:only-child{border-radius:var(--ecod-radius);border-bottom:1px solid var(--ecod-border)}.ecod_stack>.ecod_article__act,.ecod_stack>.ecod_rel,.ecod_stack>.ecod_postnav{margin-top:0}.ecod_stack>.ecod_postnav{padding-top:var(--ecod-sp-4);border-top:1px solid var(--ecod-line-2)}.ecod_stack>.ecod_copyright{margin-top:var(--ecod-sp-6);border-radius:var(--ecod-radius);border-bottom:1px solid var(--ecod-border)}.ecod_copyright{margin-top:var(--ecod-sp-6);padding:var(--ecod-sp-4) var(--ecod-sp-4);background:var(--ecod-surface-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius)}.ecod_copyright__head{display:flex;align-items:center;gap:var(--ecod-sp-2);padding-bottom:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-2);border-bottom:1px dashed var(--ecod-border);font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text)}.ecod_copyright__head .ecod_icon{color:var(--ecod-primary-text)}.ecod_copyright__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ecod-sp-2);font-size:var(--ecod-fs-sm)}.ecod_copyright__list li{display:flex;gap:var(--ecod-sp-2);align-items:baseline;min-width:0}.ecod_copyright__list em{flex:none;width:34px;font-style:normal;color:var(--ecod-text-3)}.ecod_copyright__list span,.ecod_copyright__list a{color:var(--ecod-text-2);word-break:break-all}@media(hover:hover){.ecod_copyright__list a:hover{color:var(--ecod-primary-text)}}.ecod_copyright__notice{margin:var(--ecod-sp-3) 0 0;padding-top:var(--ecod-sp-2);border-top:1px dashed var(--ecod-border);font-size:var(--ecod-fs-xs);line-height:1.7;color:var(--ecod-text-3)}.ecod_article__act{display:flex;flex-direction:column;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-7);padding-top:var(--ecod-sp-5);padding-bottom:var(--ecod-sp-5);border-top:1px solid var(--ecod-line-2)}.ecod_article__actrow{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ecod-sp-2) var(--ecod-sp-5)}.ecod_article__actrow>*{position:relative;margin:0;min-width:0}.ecod_actbtn{display:inline-flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;color:var(--ecod-ink-2);font-size:var(--ecod-fs-xs);line-height:1.2;white-space:nowrap;cursor:pointer;transition:color var(--ecod-dur-fast) var(--ecod-ease),transform .1s var(--ecod-ease)}.ecod_actbtn__ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--ecod-surface-2);color:inherit;transition:background-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_actbtn__lb{font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis}.ecod_actbtn .ecod_icon{flex:none;display:block}@media(hover:hover){.ecod_actbtn:hover{color:var(--ecod-primary-deep)}.ecod_actbtn:hover .ecod_actbtn__ico{background:var(--ecod-primary-soft);color:var(--ecod-primary-deep)}html[data-theme=dark] .ecod_actbtn:hover{color:var(--ecod-primary-text)}}.ecod_actbtn:active{transform:scale(.97)}@media(max-width:680px){.ecod_actbtn__ico{width:36px;height:36px}.ecod_article__actrow{gap:var(--ecod-sp-1) 10px}.ecod_actbtn__lb{display:none}.ecod_actbtn.is-num .ecod_actbtn__lb,.ecod_actbtn__lb.is-num{display:block}}.ecod_report{position:relative;display:inline-flex}.ecod_report>summary{list-style:none;cursor:pointer}.ecod_report>summary::-webkit-details-marker{display:none}.ecod_report[open]>summary{color:var(--ecod-primary-text)}.ecod_report__pop{position:absolute;bottom:calc(100% + 10px);right:0;z-index:var(--ecod-z-pop);width:272px;max-width:calc(100vw - 36px);padding:var(--ecod-sp-3);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);box-shadow:var(--ecod-shadow-pop)}.ecod_report__label{margin-bottom:var(--ecod-sp-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_report__opts{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2)}.ecod_report__opt{padding:var(--ecod-sp-1) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:transparent;color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);line-height:1.4;cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_report__opt.is-on{border-color:transparent;background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-weight:600}.ecod_report__note{width:100%;min-height:56px;margin-top:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text);font-family:inherit;font-size:var(--ecod-fs-xs);line-height:1.6;resize:vertical}.ecod_report__note:focus-visible{box-shadow:var(--ecod-ring-focus);border-color:transparent}.ecod_report__foot{display:flex;justify-content:flex-end;margin-top:var(--ecod-sp-2)}.ecod_report__foot input[name=ecod_hp]{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;opacity:0;pointer-events:none}.ecod_report__send{padding:var(--ecod-sp-2) var(--ecod-sp-4);font-size:var(--ecod-fs-xs)}.ecod_report__send:disabled{opacity:.45;cursor:not-allowed;filter:none}.ecod_report__tip{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-xs);line-height:1.6;color:var(--ecod-text-2)}.ecod_report__tip.is-ok{color:var(--ecod-primary-text)}.ecod_readbar{position:sticky;top:calc(var(--ecod-header-h) + 8px);z-index:var(--ecod-z-pop);display:flex;align-items:center;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-5);padding:var(--ecod-sp-2) var(--ecod-sp-2);background:color-mix(in srgb,var(--ecod-surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-sm);box-shadow:var(--ecod-shadow-sm);font-size:var(--ecod-fs-sm);color:var(--ecod-text-2);transition:top var(--ecod-dur-slow) var(--ecod-ease)}html.is-hd-off .ecod_readbar:not(.is-side){top:8px}.ecod_readbar[hidden],.ecod_readbar__tts[hidden],.ecod_readbar__tool[hidden],.ecod_readbar__stop[hidden]{display:none!important}.ecod_readbar__tool{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);flex:none;height:30px;padding:0 var(--ecod-sp-2);border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-ink-2);font-size:var(--ecod-fs-xs);line-height:1;white-space:nowrap;transition:background var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease),transform .1s var(--ecod-ease)}.ecod_readbar__tool .ecod_icon{opacity:.85}@media(hover:hover){.ecod_readbar__tool:hover{background:var(--ecod-surface);color:var(--ecod-ink)}}.ecod_readbar__tool:active{transform:scale(.96)}.ecod_readbar__tool:focus-visible{box-shadow:var(--ecod-ring-focus)}.ecod_readbar__ic{display:inline-flex}.ecod_readbar__tts{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);min-width:0}.ecod_readbar__tts.is-playing .ecod_readbar__tool{background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_readbar__ratebox{display:none}.ecod_readbar__tts.is-playing .ecod_readbar__ratebox{display:inline-flex}.ecod_readbar__ratebox select{-webkit-appearance:none;appearance:none;width:52px;height:26px;padding:0 13px 0 var(--ecod-sp-1);background:var(--ecod-surface);background-image:linear-gradient(45deg,transparent 50%,var(--ecod-text-3) 50%),linear-gradient(135deg,var(--ecod-text-3) 50%,transparent 50%);background-position:calc(100% - 8px) center,calc(100% - 3px) center;background-size:5px 5px;background-repeat:no-repeat;border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius-sm);color:var(--ecod-text-2);font-family:inherit;font-size:var(--ecod-fs-2xs);text-align:center;cursor:pointer}.ecod_readbar__stop{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-text-3);transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_readbar__stop:hover{color:var(--ecod-danger-text);background:var(--ecod-surface)}}.ecod_readbar__fs{display:inline-flex;gap:2px}.ecod_readbar__fsbtn{gap:0;padding:0 var(--ecod-sp-2);font-weight:600;letter-spacing:.01em}.ecod_readbar__fsbtn i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-3);margin-left:1px}.ecod_readbar__fsbtn.is-edge{opacity:.4}.ecod_readbar__prog{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-left:auto;padding-right:2px;font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-3);font-variant-numeric:tabular-nums;white-space:nowrap}.ecod_readbar__progl{flex:none;width:110px;height:3px;border-radius:var(--ecod-radius-full);background:var(--ecod-line);overflow:hidden}.ecod_readbar__progl i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:inherit;background:var(--ecod-primary);transition:transform var(--ecod-dur) var(--ecod-ease)}@media(max-width:680px){.ecod_readbar{gap:var(--ecod-sp-1);padding:var(--ecod-sp-1) var(--ecod-sp-2)}.ecod_readbar__tool[data-ecod-readbar-toc],.ecod_readbar__fs{display:none!important}.ecod_readbar__progl{width:70px}}@media(max-width:680px){.ecod_crumb.is-embed{gap:6px}.ecod_crumb.is-embed>a:not(.ecod_crumb__back),.ecod_crumb.is-embed>.ecod_crumb__sep,.ecod_crumb.is-embed>[aria-current=page]{display:none}}.ecod_readbar.is-side{position:fixed;top:50%;right:16px;left:auto;flex-direction:column;gap:var(--ecod-sp-1);margin:0;padding:var(--ecod-sp-2) var(--ecod-sp-2) var(--ecod-sp-2);border-radius:var(--ecod-radius);transform:translateY(-50%)}.ecod_readbar.is-side.is-left{left:16px;right:auto}.ecod_readbar.is-side .ecod_readbar__tool{justify-content:center;padding:0 var(--ecod-sp-1)}.ecod_readbar.is-side .ecod_readbar__tts{flex-direction:column;gap:2px}.ecod_readbar.is-side .ecod_readbar__ratebox select{width:44px}.ecod_readbar.is-side .ecod_readbar__prog{flex-direction:column;gap:var(--ecod-sp-1);margin:3px 0 0;padding:2px 0 0;border-top:1px solid var(--ecod-line)}.ecod_readbar.is-side .ecod_readbar__progl{width:3px;height:64px}.ecod_readbar.is-side .ecod_readbar__progl i{width:100%;height:100%;transform:scaleY(0);transform-origin:50% 0;transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_content .is-tts-active{background:var(--ecod-primary-soft);border-radius:var(--ecod-radius-sm);box-shadow:0 0 0 6px var(--ecod-primary-soft);transition:background var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}.ecod_content{--ecod-prose: var(--ecod-fs-user, var(--ecod-prose-fs, var(--ecod-fs-base)));font-size:var(--ecod-prose);line-height:var(--ecod-prose-lh, 1.75);font-family:var(--ecod-prose-font, inherit);color:var(--ecod-ink)}.ecod_article .ecod_content{margin-top:var(--ecod-sp-5)}.ecod_content>*:first-child{margin-top:0}.ecod_content h2,.ecod_content h3,.ecod_content h4{scroll-margin-top:calc(var(--ecod-header-h) + 18px)}html.is-hd-off .ecod_content h4{scroll-margin-top:18px}.ecod_content h2{position:relative;padding-left:var(--ecod-sp-4);font-size:var(--ecod-fs-3xl);line-height:32px;margin:var(--ecod-sp-10) 0 12px}.ecod_content h2:before{content:"";position:absolute;left:0;top:.14em;width:5px;height:1.02em;border-radius:var(--ecod-radius-xs);background:var(--ecod-primary)}.ecod_content h3{font-size:var(--ecod-fs-xl);line-height:30px;margin:var(--ecod-sp-8) 0 8px}.ecod_content h4{font-size:var(--ecod-fs-base);line-height:28px;font-weight:600;color:var(--ecod-ink);margin:var(--ecod-sp-6) 0 4px}.ecod_content p{margin:0 0 var(--ecod-sp-5)}.ecod_content a{color:var(--ecod-primary-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--ecod-primary) 40%,transparent);text-underline-offset:3px}@media(hover:hover){.ecod_content a:hover{text-decoration-color:var(--ecod-primary-text)}}.ecod_content img{max-width:min(100%,var(--ecod-img-max, 100%));height:auto;border-radius:var(--ecod-radius-sm);margin:var(--ecod-sp-7) auto;cursor:zoom-in;transition:transform var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_content img:not(.ecod_emoji):hover{transform:translateY(-2px);box-shadow:var(--ecod-shadow-hover)}.ecod_content img.ecod_emoji:hover{transform:none;box-shadow:none}}.ecod_content img.ecod_emoji{cursor:auto}.ecod_content figure{margin:var(--ecod-sp-7) 0}.ecod_content figure img{margin:0 auto}.ecod_content figcaption{margin-top:var(--ecod-sp-2);font-size:var(--ecod-fs-xs);line-height:18px;color:var(--ecod-ink-3);text-align:center}.ecod_content ul,.ecod_content ol{margin:0 0 var(--ecod-sp-5);padding-left:var(--ecod-sp-5)}.ecod_content li{margin-bottom:var(--ecod-sp-2)}.ecod_content li>ul,.ecod_content li>ol{margin-bottom:0}.ecod_content blockquote{margin:var(--ecod-sp-5) 0;padding:var(--ecod-sp-4) var(--ecod-sp-5);border-left:3px solid var(--ecod-primary);border-radius:0 var(--ecod-radius-sm) var(--ecod-radius-sm) 0;background:var(--ecod-primary-soft);color:var(--ecod-ink-2);font-size:var(--ecod-fs-base)}.ecod_content blockquote p:last-child{margin-bottom:0}.ecod_content pre:not([class*=language-]){margin:var(--ecod-sp-7) 0;padding:var(--ecod-sp-4) var(--ecod-sp-5);border-radius:var(--ecod-radius-sm);background:#1e2230;color:#c9d4e8;font-size:max(12px,var(--ecod-prose, var(--ecod-fs-base)) - 3px);line-height:24px;overflow-x:auto}.ecod_content pre[class*=language-]{margin:var(--ecod-sp-7) 0;border-radius:var(--ecod-radius-sm);font-size:max(12px,var(--ecod-prose, var(--ecod-fs-base)) - 3px);line-height:24px}.ecod_content :not(pre)>code{background:var(--ecod-code-bg);color:var(--ecod-code-ink);padding:2px var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);font-size:var(--ecod-fs-sm)}.ecod_content table{width:100%;border-collapse:collapse;margin:var(--ecod-sp-7) 0;font-size:var(--ecod-fs-sm);line-height:20px;display:block;overflow-x:auto;border-radius:var(--ecod-radius-sm)}.ecod_content th,.ecod_content td{border:1px solid var(--ecod-border);padding:var(--ecod-sp-2) var(--ecod-sp-3);text-align:left}.ecod_content th{background:var(--ecod-surface-2);font-weight:600}.ecod_content tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--ecod-surface-2) 55%,transparent)}@media(hover:hover){.ecod_content tbody tr:hover td{background:color-mix(in srgb,var(--ecod-primary-soft) 65%,transparent)}}.ecod_content hr{border:0;height:1px;background:linear-gradient(90deg,transparent,var(--ecod-border),transparent);margin:var(--ecod-sp-7) 0}.ecod_content details{margin:var(--ecod-sp-3) 0;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);overflow:hidden;interpolate-size:allow-keywords}.ecod_content details+details{margin-top:var(--ecod-sp-3)}.ecod_content details>summary{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);font-weight:600;color:var(--ecod-text);cursor:pointer;list-style:none;user-select:none;transition:color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_content details>summary::-webkit-details-marker{display:none}.ecod_content details>summary:before{content:"";flex:none;width:14px;height:14px;background:currentColor;opacity:.55;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") center / contain no-repeat;transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_content details[open]>summary:before{transform:rotate(90deg);opacity:.8}.ecod_content details[open]>summary{color:var(--ecod-primary-text)}@media(hover:hover){.ecod_content details>summary:hover{color:var(--ecod-primary-text)}}.ecod_content details>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}.ecod_content details[open]>summary{border-bottom:1px dashed var(--ecod-border)}.ecod_content details>:not(summary){margin-inline:16px}.ecod_content details>summary+*{margin-top:var(--ecod-sp-3)}.ecod_content details>:not(summary):last-child{margin-bottom:var(--ecod-sp-3)}.ecod_content details p{margin-bottom:var(--ecod-sp-3)}.ecod_content details pre{margin:var(--ecod-sp-3) 0}.ecod_content details table{margin:var(--ecod-sp-3) 0}.ecod_content details::details-content{block-size:0;overflow:hidden;transition:block-size var(--ecod-dur) var(--ecod-ease),content-visibility var(--ecod-dur) var(--ecod-ease);transition-behavior:allow-discrete}.ecod_content details[open]::details-content{block-size:auto}.ecod_article__tags{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-7);padding-top:var(--ecod-sp-4);border-top:1px solid var(--ecod-line-2)}.ecod_article__tags a{display:inline-flex;align-items:center;padding:3px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:transparent;color:var(--ecod-ink-2);font-size:var(--ecod-fs-xs);line-height:1.8;transition:background var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}.ecod_article__tags a:before{content:"#";margin-right:2px;color:var(--ecod-ink-3)}@media(hover:hover){.ecod_article__tags a:hover{background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_article__tags a:hover:before{color:var(--ecod-primary-text)}}.ecod_codeblock{margin:var(--ecod-sp-5) 0;border-radius:var(--ecod-radius-sm);overflow:hidden;background:var(--ecod-code-bg, #1e2230);color:var(--ecod-code-fg, #dfe5f2)}.ecod_codeblock pre{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.ecod_codeblock__bar{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-3);background:#7f7f7f24}.ecod_codeblock__dots{display:flex;gap:var(--ecod-sp-1)}.ecod_codeblock__dots i{width:10px;height:10px;border-radius:50%}.ecod_codeblock__dots i:nth-child(1){background:#ff5f57}.ecod_codeblock__dots i:nth-child(2){background:#febc2e}.ecod_codeblock__dots i:nth-child(3){background:#28c840}.ecod_codeblock__lang{font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:inherit;opacity:.55;letter-spacing:.5px}.ecod_codeblock__copy{margin-left:auto;display:inline-flex;align-items:center;gap:var(--ecod-sp-1);border:0;background:transparent;color:inherit;opacity:.62;font-size:var(--ecod-fs-xs);padding:3px var(--ecod-sp-2);border-radius:var(--ecod-radius-xs);transition:background var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease),opacity var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_codeblock__copy:hover{background:#7f7f7f38;color:inherit;opacity:1}}.ecod_codeblock pre{margin:0;border-radius:0}.ecod_codeblock pre,.ecod_codeblock pre[class*=language-],.ecod_codeblock pre:not([class*=language-]){margin:0;padding:var(--ecod-sp-4) var(--ecod-sp-4);border-radius:0;background:transparent;font-family:var(--ecod-mono);font-size:max(12px,var(--ecod-prose, var(--ecod-fs-base)) - 3px);line-height:1.85;text-shadow:none}.ecod_codeblock pre>code,.ecod_codeblock pre[class*=language-]>code{border:0;box-shadow:none;background:transparent;color:inherit;font-size:inherit;line-height:inherit;text-shadow:none}.ecod_codeblock code{color:inherit}.tok-cm{color:#7d879c;font-style:italic}.tok-st{color:#8fd8a0}.tok-nu{color:#f0b05e}.tok-kw{color:#c3b3f5}.tok-fn{color:#82b4ff}.tok-va{color:#f2a37e}.tok-at{color:#f28cc2}.tok-tg{color:#ff8f8f}.tok-pr{color:#6fd6e8}.tok-se{color:#ff9db1}.ecod_codeblock pre code .tok-kw{font-weight:500}.ecod_postnav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-4)}.ecod_postnav__card{position:relative;display:flex;flex-direction:column;justify-content:center;gap:var(--ecod-sp-1);min-height:88px;padding:var(--ecod-card-pad-sm) var(--ecod-card-pad);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden;transition:border-color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_postnav__card:hover{border-color:var(--ecod-primary-line)}}.ecod_postnav__shade{display:none}.ecod_postnav__card.has-cover{padding-right:128px}.ecod_postnav__card.has-cover:after{content:"";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:96px;height:64px;border-radius:var(--ecod-radius-sm);background-image:var(--ecod-cover, none);background-size:cover;background-position:center}.ecod_postnav__card.has-cover{border-color:var(--ecod-line)}.ecod_postnav__label{position:relative;display:inline-flex;align-items:center;gap:3px;font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3)}.ecod_postnav__icon{flex:none}.ecod_postnav__icon.is-flip{transform:rotate(180deg)}.ecod_postnav__title{position:relative;font-size:var(--ecod-fs-md);font-weight:600;line-height:1.5;color:var(--ecod-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_postnav__card:hover .ecod_postnav__title{color:var(--ecod-primary-text)}}.ecod_postnav .is-next{text-align:left}.ecod_postnav__card.is-empty{opacity:.55}@media(hover:hover){.ecod_postnav__card.is-empty:hover{border-color:var(--ecod-border);box-shadow:none;transform:none}}.ecod_postnav__card.is-empty .ecod_postnav__title{color:var(--ecod-text-3);font-weight:400}.ecod_toc{position:relative;max-height:calc(100vh - var(--ecod-header-h) - 140px);overflow:auto;overscroll-behavior:contain;font-size:var(--ecod-fs-sm);scrollbar-width:none}.ecod_toc::-webkit-scrollbar{width:0;height:0}.ecod_toc a{position:relative;display:block;padding:var(--ecod-sp-1) var(--ecod-sp-2) var(--ecod-sp-1) var(--ecod-sp-3);border-radius:0 var(--ecod-radius-sm) var(--ecod-radius-sm) 0;color:var(--ecod-text-2);line-height:1.55;transition:color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease)}.ecod_toc a:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:var(--ecod-radius-xs);background:transparent;transition:background var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_toc a:hover{color:var(--ecod-primary-text);background:var(--ecod-surface-2)}}.ecod_toc a.is-active{color:var(--ecod-primary-text);font-weight:600;background:linear-gradient(90deg,var(--ecod-primary-soft),transparent 88%)}.ecod_toc a.is-active:before{background:var(--ecod-primary)}.ecod_toc a.lv3{padding-left:var(--ecod-sp-6);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_toc a.lv3:before{left:12px;background:var(--ecod-border)}.ecod_toc a.lv3.is-active{color:var(--ecod-primary-text)}.ecod_toc a.lv3.is-active:before{background:var(--ecod-primary)}.ecod_floattoc{position:fixed;top:44%;transform:translateY(-50%);z-index:var(--ecod-z-toc)}.ecod_floattoc:empty{display:none}.ecod_floattoc.is-left{left:16px}.ecod_floattoc.is-right{right:16px}.ecod_floattoc__btn{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:var(--ecod-surface);color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);box-shadow:var(--ecod-shadow);cursor:pointer;transition:color var(--ecod-dur) var(--ecod-ease),border-color var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_floattoc__btn:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-text);box-shadow:var(--ecod-shadow-hover)}}.ecod_floattoc.is-open .ecod_floattoc__btn{color:var(--ecod-primary-text);border-color:var(--ecod-primary-text);box-shadow:var(--ecod-shadow-hover)}.ecod_floattoc__pop{position:absolute;top:50%;width:264px;max-height:64vh;overflow:auto;overscroll-behavior:contain;padding:var(--ecod-sp-3) var(--ecod-sp-2) var(--ecod-sp-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow-hover);opacity:0;visibility:hidden;transform:translateY(-50%) translate(-6px);transition:opacity var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease),visibility 0s linear var(--ecod-dur);pointer-events:none}.ecod_floattoc.is-left .ecod_floattoc__pop{left:calc(100% + 12px)}.ecod_floattoc.is-right .ecod_floattoc__pop{right:calc(100% + 12px);transform:translateY(-50%) translate(6px)}.ecod_floattoc.is-open .ecod_floattoc__pop{opacity:1;visibility:visible;transition:opacity var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease),visibility 0s var(--ecod-ease);transform:translateY(-50%);pointer-events:auto}.ecod_floattoc.is-right.is-open .ecod_floattoc__pop{transform:translateY(-50%)}.ecod_floattoc__head{margin:0 var(--ecod-sp-1) var(--ecod-sp-2);padding-bottom:var(--ecod-sp-2);border-bottom:1px solid var(--ecod-border);font-size:var(--ecod-fs-xs);font-weight:600;letter-spacing:.12em;color:var(--ecod-text-3)}.ecod_floattoc__list{max-height:none}.ecod_floattoc__stat{float:right;font-weight:500;letter-spacing:0;color:var(--ecod-text-3)}.ecod_floattoc__meter{height:3px;margin:0 var(--ecod-sp-1) var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-border);overflow:hidden}.ecod_floattoc__meter i{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:0 50%;border-radius:var(--ecod-radius-full);background:var(--ecod-primary);transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_toc a.is-read{color:var(--ecod-text-3)}.ecod_toc a.is-read:after{content:"\2713";float:right;font-size:var(--ecod-fs-2xs);color:var(--ecod-primary-text);opacity:.55}@media(max-width:900px){.ecod_floattoc.is-left,.ecod_floattoc.is-right{top:auto;bottom:calc(var(--ecod-float-gap-sm) + 8px + env(safe-area-inset-bottom,0px));transform:none}.ecod_floattoc.is-right{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.ecod_floattoc__pop,.ecod_floattoc.is-left .ecod_floattoc__pop,.ecod_floattoc.is-right .ecod_floattoc__pop,.ecod_floattoc.is-open .ecod_floattoc__pop,.ecod_floattoc.is-right.is-open .ecod_floattoc__pop{left:0;right:auto;top:auto;bottom:calc(100% + 12px);width:min(300px,calc(100vw - 32px));max-height:56vh;transform:translateY(6px)}.ecod_floattoc.is-open .ecod_floattoc__pop{transform:none}}@media(max-width:680px){body.ecod-has-dock .ecod_floattoc.is-left,body.ecod-has-dock .ecod_floattoc.is-right{bottom:calc(74px + env(safe-area-inset-bottom,0px))}}}@layer components{.ecod_comments{margin-top:0;padding:var(--ecod-card-pad-lg);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius)}.ecod_comments__title{font-size:var(--ecod-fs-lg);margin-bottom:var(--ecod-sp-1);color:var(--ecod-ink)}.ecod_comments__title b{font-variant-numeric:tabular-nums}.ecod_comments ol{list-style:none}.ecod_cmtlist{margin:0;padding:0}.ecod_cmt{display:flex;gap:var(--ecod-sp-3);padding:var(--ecod-sp-4) 0;border-bottom:1px dashed var(--ecod-border)}.ecod_cmtlist>.ecod_cmt:last-child{border-bottom:0}.ecod_cmt__aside{flex:none}.ecod_cmt__aside .avatar{display:block;width:36px;height:36px;margin:0;border-radius:var(--ecod-avatar-radius);box-shadow:0 0 0 2px var(--ecod-surface),0 0 0 3.5px var(--ecod-border);transition:transform var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_cmt:hover>.ecod_cmt__aside .avatar{transform:scale(1.05)}}.ecod_cmt__main{flex:1;min-width:0}.ecod_cmt__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ecod-sp-2)}.ecod_cmt__name{font-style:normal;font-weight:600;font-size:var(--ecod-fs-sm);color:var(--ecod-text)}.ecod_cmt__name a{color:inherit}@media(hover:hover){.ecod_cmt__name a:hover{color:var(--ecod-primary-text)}}.ecod_cmt__time{margin-left:auto;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}@media(hover:hover){.ecod_cmt__time:hover{color:var(--ecod-primary-text)}}.ecod_cmt__meta{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;font-size:var(--ecod-fs-xs);line-height:1.5;color:var(--ecod-text-3)}.ecod_cmt__meta .ecod_icon{flex:none;width:12px;height:12px;opacity:.85}.ecod_cmt__meta>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_cmt__badge{flex:none;padding:0 var(--ecod-sp-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs);font-style:normal;line-height:1.75}.ecod_cmt__badge.is-owner{background:var(--ecod-primary-soft);color:var(--ecod-primary-deep);border-color:var(--ecod-primary-line-2)}.ecod_cmt__badge.lv3,.ecod_cmt__badge.lv4{background:#ecfeff;color:#0e7490;border-color:#cffafe}.ecod_cmt__badge.lv5{background:#fffbeb;color:#b45309;border-color:#fde68a}.ecod_cmt__badge.lv6{background:#fdf2f8;color:#9d174d;border-color:#fbcfe8}.ecod_cmt__badge.lv7{background:linear-gradient(135deg,var(--ecod-lv7-a),var(--ecod-lv7-b));color:#fff;border-color:transparent}html[data-theme=dark] .ecod_cmt__badge.lv3,html[data-theme=dark] .ecod_cmt__badge.lv4{background:#12333a;color:#6fd0e0;border-color:#1e4650}html[data-theme=dark] .ecod_cmt__badge.lv5{background:#3a2d10;color:#f0c479;border-color:#5c4a24}html[data-theme=dark] .ecod_cmt__badge.lv6{background:#3a1d2c;color:#f2a0c0;border-color:#55283f}.ecod_cmt__badge[hidden]{display:none}.ecod_cmt__badge.is-pin{display:inline-flex;align-items:center;gap:2px;background:var(--ecod-primary-soft);color:var(--ecod-primary-text);border-color:var(--ecod-primary-line-2)}.ecod_cmt__badge.is-pin[hidden]{display:none}.ecod_cmt__badge.is-pin .ecod_icon{width:11px;height:11px}html[data-theme=dark] .ecod_cmt__badge.is-pin{background:#1d2a48;color:#9ab8ff;border-color:#2c3f68}.ecod_cmt__body{margin-top:var(--ecod-sp-1);font-size:var(--ecod-fs-md);line-height:1.78;color:var(--ecod-text-2);overflow-wrap:break-word}.ecod_cmt__body p:last-child{margin-bottom:0}.ecod_cmt__body .ecod_cmt__at{color:var(--ecod-primary-text);font-weight:500}.ecod_cmt__pending{display:inline-block;margin-top:var(--ecod-sp-1);padding:0 var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:#fff7ed;color:#c2410c;font-size:var(--ecod-fs-2xs);font-style:normal}html[data-theme=dark] .ecod_cmt__pending{background:#3a2410;color:#f0a860}.ecod_cmt__act{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-1);font-size:var(--ecod-fs-xs)}.ecod_cmt__act a{color:var(--ecod-text-3)}@media(hover:hover){.ecod_cmt__act a:hover{color:var(--ecod-primary-text)}}.ecod_cmt__anchor{opacity:0;transition:opacity var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_cmt:hover .ecod_cmt__anchor{opacity:1}}.ecod_cmt__anchor:focus-visible{opacity:1}.ecod_cmt__children{margin-top:var(--ecod-sp-3)}.ecod_cmt__children>.ecod_cmtlist{padding-left:var(--ecod-sp-4);border-left:2px solid var(--ecod-border)}.ecod_cmt__children .ecod_cmt__aside .avatar{width:30px;height:30px}.ecod_cmtlist .ecod_cmtlist .ecod_cmtlist{padding-left:var(--ecod-sp-2)}.ecod_cmtlist .ecod_cmtlist .ecod_cmt{padding:var(--ecod-sp-3) 0}.ecod_cmt__fold{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-2);padding:3px var(--ecod-sp-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);line-height:1.6;cursor:pointer;transition:color var(--ecod-dur-fast) var(--ecod-ease),border-color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_cmt__fold:before{content:"\21b3";color:var(--ecod-primary-text)}@media(hover:hover){.ecod_cmt__fold:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}.ecod_cmt__fold.is-open{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}.ecod_cmt__children.is-folded{margin-top:var(--ecod-sp-2)}.ecod_cmt__children[hidden]{display:none}.ecod_comments__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ecod-sp-2) var(--ecod-sp-3);margin-bottom:var(--ecod-sp-1)}.ecod_comments__head .ecod_comments__title{margin-bottom:0}.ecod_cmtall{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);flex:none;padding:var(--ecod-sp-1) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);line-height:1.6;cursor:pointer;transition:color var(--ecod-dur-fast) var(--ecod-ease),border-color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_cmtall[hidden]{display:none}.ecod_cmtall:before{content:"";width:6px;height:6px;margin-top:-3px;border-right:1.5px solid var(--ecod-primary);border-bottom:1.5px solid var(--ecod-primary);transform:rotate(45deg);transition:transform var(--ecod-dur-fast) var(--ecod-ease),margin-top var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_cmtall:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}.ecod_cmtall.is-open{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}.ecod_cmtall.is-open:before{transform:rotate(-135deg);margin-top:2px}@media(max-width:680px){.ecod_comments{padding:var(--ecod-sp-4) var(--ecod-sp-4)}.ecod_cmt{gap:var(--ecod-sp-2)}.ecod_cmt__children>.ecod_cmtlist{padding-left:var(--ecod-sp-3)}.ecod_cmt__children .ecod_cmt__aside .avatar{width:26px;height:26px}}.ecod_editor__tools{display:flex;align-items:center;gap:var(--ecod-sp-2)}.ecod_editor__emoji{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);min-height:32px;padding:2px 10px;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);background:var(--ecod-surface);color:var(--ecod-text-3);font-size:var(--ecod-fs-xs);cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease),box-shadow var(--ecod-dur-fast) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_editor__emoji:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}.ecod_editor__emoji.is-open{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}.ecod_emojis{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:2px;margin-top:var(--ecod-sp-2);padding:var(--ecod-sp-2);max-height:172px;overflow-y:auto;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_emojis[hidden]{display:none}.ecod_emoji{padding:var(--ecod-sp-1) 0;border:0;border-radius:var(--ecod-radius-sm);background:transparent;font-size:var(--ecod-fs-xl);line-height:1;cursor:pointer;transition:transform var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_emoji:hover{background:var(--ecod-surface);transform:scale(1.12)}}.ecod_stale{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);margin:var(--ecod-sp-4) 0;padding:var(--ecod-sp-3) var(--ecod-sp-3);border:1px solid #fde68a;border-radius:var(--ecod-radius-sm);background:#fffbeb;color:#92400e;font-size:var(--ecod-fs-sm);line-height:1.7}.ecod_stale .ecod_icon{flex:none;margin-top:2px}.ecod_stale p{margin:0}.ecod_respond{margin-top:var(--ecod-sp-5);padding-top:var(--ecod-sp-4);border-top:1px solid var(--ecod-border)}.ecod_respond h3{font-size:var(--ecod-fs-md);margin-bottom:var(--ecod-sp-3)}.ecod_respond__to{font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);margin-bottom:var(--ecod-sp-2)}.ecod_respond__head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ecod-sp-1) var(--ecod-sp-2)}.ecod_respond__head .ecod_respond__to,.ecod_respond__head .ecod_respond__cancel{margin:0}.ecod_respond__to:before{content:"\21b3";margin-right:var(--ecod-sp-1);color:var(--ecod-primary-text)}.ecod_comments .comment-body>.ecod_respond,.ecod_comments .ecod_cmt .ecod_respond{margin:var(--ecod-sp-3) 0 2px;padding:var(--ecod-sp-3) var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_comments .comment-body>.ecod_respond .ecod_field,.ecod_comments .ecod_cmt .ecod_respond .ecod_field{flex-wrap:wrap}.ecod_comments .comment-body>.ecod_respond textarea,.ecod_comments .ecod_cmt .ecod_respond textarea{min-height:84px}.ecod_respond__login{font-size:var(--ecod-fs-sm);color:var(--ecod-text-2)}.ecod_respond__lv{display:flex;align-items:center;gap:var(--ecod-sp-2);flex-wrap:wrap;margin:0 0 var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-2)}.ecod_respond__lv-badge{flex:none;display:inline-flex;align-items:center;height:20px;padding:0 var(--ecod-sp-2);border-radius:4px;background:var(--ecod-primary-btn);color:#fff;font-weight:700;line-height:1}.ecod_respond__lv-name{font-weight:600;color:var(--ecod-text)}.ecod_respond__lv .ecod_lvmeter{flex:none;width:96px}.ecod_respond__lv-next{color:var(--ecod-text-3)}.ecod_respond__lv-go{margin-left:auto;color:var(--ecod-primary-text);font-weight:600;text-decoration:none}@media(hover:hover){.ecod_respond__lv-go:hover{text-decoration:underline}}@media(max-width:560px){.ecod_respond__lv .ecod_lvmeter,.ecod_respond__lv-go{display:none}}.ecod_respond__cancel{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);display:inline-block;margin-bottom:var(--ecod-sp-2)}@media(hover:hover){.ecod_respond__cancel:hover{color:var(--ecod-primary-text)}}.ecod_respond .ecod_field{display:flex;gap:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-2)}.ecod_respond input[type=text],.ecod_respond input[type=email],.ecod_respond input[type=url],.ecod_respond textarea{width:100%;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text);font-family:inherit;font-size:var(--ecod-fs-sm);transition:border-color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}.ecod_respond textarea{min-height:96px;resize:vertical}.ecod_respond input:focus,.ecod_respond textarea:focus{border-color:var(--ecod-primary-text);background:var(--ecod-surface);outline:none;box-shadow:var(--ecod-ring)}.ecod_respond .ecod_formfoot{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-2)}.ecod_respond .ecod_formfoot small{color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_emoji--img img{display:block;width:24px;height:24px;margin:0 auto}@media(hover:hover){.ecod_emoji--img:hover{background:var(--ecod-surface-2)}}.ecod_editor__imgs{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-2)}.ecod_editor__imgs[hidden]{display:none}.ecod_editor__img{position:relative;width:72px;height:72px;overflow:hidden;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_editor__img img{display:block;width:100%;height:100%;object-fit:cover}.ecod_editor__img.is-up img{opacity:.35}.ecod_editor__img.is-up:after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid var(--ecod-border);border-top-color:var(--ecod-primary-text);border-radius:50%;animation:ecod-spin .8s linear infinite}.ecod_editor__img.is-err{border-color:var(--ecod-danger-text)}.ecod_editor__img.is-err img{opacity:.4}.ecod_editor__img__x{position:absolute;top:3px;right:3px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;border-radius:var(--ecod-radius-full);background:#11141c8c;color:#fff;cursor:pointer}.ecod_editor__img__x:after{content:"";position:absolute;inset:-4px}@media(hover:hover){.ecod_editor__img__x:hover{background:#11141ccc}}.ecod_cmt__imgs{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--ecod-sp-2)}.ecod_cmt__img{display:block;width:104px;height:104px;overflow:hidden;border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_cmt__img:focus-visible{outline:none;box-shadow:var(--ecod-ring)}.ecod_cmt__img img{display:block;width:100%;height:100%;object-fit:cover}.ecod_cmt__imgs.is-single .ecod_cmt__img{width:auto;height:auto;max-width:min(280px,100%);max-height:280px}.ecod_cmt__imgs.is-single .ecod_cmt__img img{width:auto;height:auto;max-width:100%;max-height:280px;object-fit:contain}@media(max-width:680px){.ecod_cmt__img{width:88px;height:88px}.ecod_cmt__imgs.is-single .ecod_cmt__img{max-width:100%}.ecod_cmt__imgs.is-single .ecod_cmt__img img{max-height:240px}}.ecod_turnstile{margin-top:var(--ecod-sp-3)}.ecod_turnstile:empty{margin-top:0}.ecod_comments--third .ecod_third{min-height:96px}.ecod_third__tip{margin:var(--ecod-sp-3) 0 0;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid #fde68a;border-radius:var(--ecod-radius-sm);background:#fffbeb;color:#92400e;font-size:var(--ecod-fs-sm)}html[data-theme=dark] .ecod_third__tip{background:#b4530924;border-color:#fde68a3d;color:#fcd34d}}@layer components{.ecod_audio{display:flex;gap:var(--ecod-sp-4);align-items:center;padding:var(--ecod-sp-4);margin:var(--ecod-sp-3) 0;border:1px solid var(--ecod-border);border-radius:18px;background:var(--ecod-surface)}.ecod_audio__cover{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:104px;height:104px;border-radius:var(--ecod-radius);color:var(--ecod-text-3);background-color:var(--ecod-primary-soft);background-image:var(--ecod-cover, none);background-size:cover;background-position:center}.ecod_audio__main{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1}.ecod_audio__main>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ecod-fs-md)}.ecod_player{display:flex;flex-direction:column;gap:2px;min-width:0}.ecod_player audio{display:block;width:100%;height:32px}.ecod_player audio:not([controls]){display:none}.ecod_player__bar{display:flex;align-items:center;gap:10px;min-width:0}.ecod_player__time{flex:none;min-width:38px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}.ecod_player__time--rem{text-align:right}.ecod_player__slider{flex:1;min-width:0;padding:9px 0;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;opacity:.78;transition:opacity var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_player__slider:hover{opacity:1}}.ecod_player__slider.is-drag{opacity:1}.ecod_player__track{display:block;height:5px;border-radius:var(--ecod-radius-full);background:color-mix(in srgb,var(--ecod-text) 16%,transparent);transform-origin:left center;transition:transform .65s var(--ecod-ease-pop)}.ecod_player__fill{display:block;width:0;height:100%;border-radius:inherit;background:var(--ecod-primary)}.ecod_player__track.is-rubber{transition:none}.ecod_player__track.is-spring{transition:transform .65s var(--ecod-ease-pop)}.ecod_player__slider--vol{flex:none;width:96px;padding:var(--ecod-sp-2) 0;opacity:.6}.ecod_player__slider--vol .ecod_player__track{height:4px}.ecod_player__bar--ctl{justify-content:space-between;flex-wrap:wrap;gap:var(--ecod-sp-1) var(--ecod-sp-3)}.ecod_player__btns{display:flex;align-items:center;gap:var(--ecod-sp-1)}.ecod_player__btn{display:inline-flex;flex:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ecod-text-2);cursor:pointer;transition:background-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_player__btn svg{display:block}@media(hover:hover){.ecod_player__btn:hover{color:var(--ecod-text);background:var(--ecod-surface-2)}}.ecod_player__btn--main{width:42px;height:42px;background:var(--ecod-surface-2);color:var(--ecod-text)}@media(hover:hover){.ecod_player__btn--main:hover{background:var(--ecod-border)}}.ecod_player__vol{display:flex;align-items:center;gap:var(--ecod-sp-1);min-width:0}.ecod_player__btn--mute.is-muted{opacity:.45}.ecod_player__volmax{flex:none;color:var(--ecod-text-3);opacity:.55}.ecod_playlist{margin:var(--ecod-sp-3) 0;border:1px solid var(--ecod-border);border-radius:18px;background:var(--ecod-surface);overflow:hidden}.ecod_playlist__head{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-4);font-size:var(--ecod-fs-sm);font-weight:600;border-bottom:1px solid var(--ecod-border);background:var(--ecod-surface-2)}.ecod_playlist__player{display:flex;align-items:center;gap:var(--ecod-sp-4);padding:var(--ecod-sp-4)}.ecod_playlist__cover{flex-shrink:0;width:84px;height:84px;border-radius:var(--ecod-radius);background-color:var(--ecod-primary-soft);background-image:var(--ecod-cover, none);background-size:cover;background-position:center}.ecod_playlist__meta{display:flex;flex-direction:column;gap:var(--ecod-sp-2);min-width:0;flex:1}.ecod_playlist__now{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ecod-fs-md);font-weight:600}.ecod_playlist__list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ecod-border)}.ecod_playlist__item{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-4);font-size:var(--ecod-fs-sm);color:var(--ecod-text-2);cursor:pointer;transition:background-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_playlist__item:hover{background:var(--ecod-surface-2);color:var(--ecod-text)}}.ecod_playlist__item.is-active{color:var(--ecod-primary-text);background:var(--ecod-primary-soft)}.ecod_playlist__idx{flex-shrink:0;width:18px;text-align:center;color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_playlist__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_playlist__play{display:none}@media(hover:hover){.ecod_playlist__item:hover .ecod_playlist__play{display:inline-flex}}.ecod_playlist__item.is-active .ecod_playlist__play{display:inline-flex}.ecod_netease{position:relative;max-width:420px;margin:var(--ecod-sp-3) 0;padding:14px var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:16px;background:var(--ecod-surface);overflow:hidden}.ecod_netease audio{display:none}.ecod_netease__player{position:relative;z-index:1;display:flex;align-items:center;gap:14px;min-width:0}.ecod_netease__disc{position:relative;flex:none;width:76px;height:76px;border-radius:50%}.ecod_netease__vinyl{position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle at 50% 50%,#1a1b1f 0 1.5px,#26282d 1.5px 3px),radial-gradient(circle at 32% 26%,#3c3f46,#131418 72%);box-shadow:0 4px 14px color-mix(in srgb,var(--ecod-text) 18%,transparent)}@media(prefers-reduced-motion:no-preference){.ecod_netease__vinyl{animation:ecod-n163-spin 6s linear infinite;animation-play-state:paused}.ecod_netease__player.is-playing .ecod_netease__vinyl{animation-play-state:running}}@keyframes ecod-n163-spin{to{transform:rotate(360deg)}}.ecod_netease__cover{position:absolute;inset:30%;border-radius:50%;background-color:var(--ecod-primary-soft);background-size:cover;background-position:center}.ecod_netease__play{position:absolute;inset:32%;display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;color:#fff;background:#00000057;cursor:pointer;transition:transform var(--ecod-dur-fast) var(--ecod-ease),background-color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_netease__play svg{width:16px;height:16px}@media(hover:hover){.ecod_netease__play:hover{background:#00000080;transform:scale(1.08)}}.ecod_netease__disc:after{content:"";position:absolute;top:-9px;left:12px;width:3px;height:24px;border-radius:2px;background:var(--ecod-text-3);transform:rotate(-24deg);transform-origin:top center;transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_netease__player.is-playing .ecod_netease__disc:after{transform:rotate(14deg)}.ecod_netease__main{display:flex;flex-direction:column;gap:var(--ecod-sp-1);min-width:0;flex:1}.ecod_netease__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ecod-fs-md);font-weight:600}.ecod_netease__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_netease__mark{position:absolute;top:-10px;right:-6px;z-index:0;width:92px;color:#c20c0c;opacity:.07;pointer-events:none}.ecod_netease__mark svg{display:block;width:100%}@media(max-width:680px){.ecod_netease{max-width:100%;padding:var(--ecod-sp-3)}.ecod_netease__player{gap:var(--ecod-sp-3)}.ecod_netease__disc{width:64px;height:64px}.ecod_netease__mark{width:72px}}@media(max-width:680px){.ecod_audio{gap:var(--ecod-sp-3);padding:var(--ecod-sp-3)}.ecod_audio__cover{width:72px;height:72px}.ecod_playlist__player{gap:var(--ecod-sp-3);padding:var(--ecod-sp-3)}.ecod_playlist__cover{width:64px;height:64px}.ecod_player__slider--vol{width:68px}.ecod_player__btn--main{width:38px;height:38px}}}@layer components{.ecod_oembed{margin:var(--ecod-sp-6) 0}.ecod_oembed__frame{position:relative;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface-2);overflow:hidden}.ecod_oembed--video .ecod_oembed__frame{aspect-ratio:16 / 9}.ecod_oembed--audio .ecod_oembed__frame{height:var(--ecod-oembed-h, 166px)}.ecod_oembed__frame iframe{display:block;width:100%;height:100%;border:0;background:#000}.ecod_oembed__cap{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_oembed__src{font-weight:600}.ecod_oembed__open{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);color:var(--ecod-text-3)!important;text-decoration:none!important;transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_oembed__open:hover{color:var(--ecod-primary-text)!important}}.ecod_oembed--social{display:flex;justify-content:center}.ecod_oembed--social blockquote{margin:0!important;padding:0!important;width:100%;max-width:550px;border:0!important;background:none!important}.ecod_oembed--social blockquote a{color:var(--ecod-primary-text);text-decoration:none}.ecod_oembed--social blockquote:before,.ecod_oembed--social blockquote:after{content:none!important}.ecod_oembed--card{display:flex;align-items:center;gap:var(--ecod-sp-3);padding:var(--ecod-sp-3) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);text-decoration:none!important;transition:border-color var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_oembed--card:hover{border-color:var(--ecod-primary-text);box-shadow:var(--ecod-shadow)}}.ecod_oembed__brand{flex-shrink:0;padding:var(--ecod-sp-1) var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-xs);font-weight:600}.ecod_oembed__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ecod_oembed__text b{font-size:var(--ecod-fs-sm);color:var(--ecod-text)}.ecod_oembed__text small{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_oembed__arrow{flex-shrink:0;display:inline-flex;color:var(--ecod-text-3)}}@layer components{.ecod_article__locked{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:#eef0f5;color:#5a6274;font-size:var(--ecod-fs-2xs)}.ecod_locknote{display:flex;align-items:flex-start;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-5);padding:var(--ecod-card-pad-sm) var(--ecod-card-pad);border:1px solid var(--ecod-locknote-line);border-radius:var(--ecod-radius);background:var(--ecod-primary-soft)}.ecod_locknote>.ecod_icon{flex:none;margin-top:2px;color:var(--ecod-primary-text)}.ecod_locknote b{display:block;font-size:var(--ecod-fs-md);color:var(--ecod-text)}.ecod_locknote p{margin:3px 0 0;font-size:var(--ecod-fs-sm);line-height:1.6;color:var(--ecod-text-2)}.ecod_lockhint{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-5);padding:var(--ecod-sp-3) var(--ecod-sp-3);border:1px dashed #ecd9a8;border-radius:var(--ecod-radius);background:#fdf8ec;color:#8a6d2f;font-size:var(--ecod-fs-sm);line-height:1.65}.ecod_lockhint>.ecod_icon{flex:none;margin-top:2px;color:#c9a24b}html[data-theme=dark] .ecod_lockhint{border-color:#4a3d1e;background:#2c2716;color:#d8b96a}.ecod_content.is-locked{color:var(--ecod-text-2)}.ecod_content.is-locked .protected{margin:var(--ecod-sp-4) 0 0;padding:var(--ecod-sp-5) var(--ecod-sp-5) var(--ecod-sp-5);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow-sm, 0 1px 2px rgba(18, 24, 40, .04))}.ecod_content.is-locked .protected p.word{margin:0 0 var(--ecod-sp-3);font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text)}.ecod_content.is-locked .protected p:last-child{display:flex;gap:var(--ecod-sp-2);margin:0}.ecod_content.is-locked .protected input.text{flex:1;min-width:0;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius);background:var(--ecod-surface-2);color:var(--ecod-text);font-family:inherit;font-size:var(--ecod-fs-md);letter-spacing:.08em;transition:border-color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}.ecod_content.is-locked .protected input.text:focus{border-color:var(--ecod-primary-text);background:var(--ecod-surface);box-shadow:var(--ecod-ring);outline:none}.ecod_content.is-locked .protected input.submit{flex:none;padding:var(--ecod-sp-2) var(--ecod-sp-5);border:0;border-radius:var(--ecod-radius);background:var(--ecod-primary-btn);color:#fff;font-family:inherit;font-size:var(--ecod-fs-md);font-weight:600;cursor:pointer;transition:filter var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_content.is-locked .protected input.submit:hover{filter:brightness(1.06)}}.ecod_content.is-locked .protected input.submit:active{transform:translateY(1px)}.ecod_respond .ecod_field__item{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--ecod-sp-1)}.ecod_field__label{font-size:var(--ecod-fs-2xs);letter-spacing:.2px;color:var(--ecod-text-3)}.ecod_respond .ecod_formfoot .ecod_field--cap{flex:0 1 304px;min-width:224px;margin:0 auto 0 0}.ecod_respond .ecod_field--cap .ecod_input{height:40px}.ecod_cap{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:var(--ecod-sp-2);align-items:center}.ecod_cap__img{display:block;width:96px;height:40px;border:1px solid var(--ecod-border-strong);border-radius:var(--ecod-radius-sm);background:var(--ecod-bg);object-fit:cover;cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_cap__img:hover{border-color:var(--ecod-primary-text)}}html[data-theme=dark] .ecod_cap__img{filter:invert(1) hue-rotate(180deg) saturate(.9)}.ecod_cap__modalfoot{display:none}body>.ecod_field--cap:not(.is-modal){display:none}@media(max-width:680px){.ecod_respond .ecod_field--cap{display:none}.ecod_field--cap.is-modal{display:block;position:fixed;inset:0;z-index:400;background:#0c101880;transition:opacity .18s ease}.ecod_field--cap.is-modal .ecod_field__item{position:absolute;left:20px;right:20px;bottom:20px;max-width:420px;margin:0 auto;padding:var(--ecod-sp-4);background:var(--ecod-surface);border-radius:var(--ecod-radius);box-shadow:var(--ecod-shadow-lg);transition:opacity .22s cubic-bezier(.2,.7,.3,1),transform .22s cubic-bezier(.2,.7,.3,1)}.ecod_field--cap.is-modal .ecod_cap{width:100%}.ecod_field--cap.is-modal .ecod_cap__modalfoot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:var(--ecod-sp-3)}.ecod_cap__cancel,.ecod_cap__ok{height:42px;border:none;border-radius:10px;font-size:var(--ecod-fs-md);font-weight:600;cursor:pointer}.ecod_cap__cancel{background:var(--ecod-surface-2);color:var(--ecod-text-2)}.ecod_cap__ok{background:var(--ecod-primary);color:#fff}}@starting-style{.ecod_field--cap.is-modal{opacity:0}.ecod_field--cap.is-modal .ecod_field__item{opacity:0;transform:translateY(24px)}}.ecod_respond .ecod_editor{border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);overflow:hidden;transition:border-color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}.ecod_respond .ecod_editor:focus-within{border-color:var(--ecod-primary-text);background:var(--ecod-surface);box-shadow:var(--ecod-ring)}.ecod_respond .ecod_editor textarea{display:block;min-height:76px;padding:var(--ecod-sp-3) var(--ecod-sp-3) var(--ecod-sp-1);border:0;border-radius:0;background:transparent;box-shadow:none;resize:none;overflow-y:auto}.ecod_respond .ecod_editor textarea:focus{border:0;background:transparent;box-shadow:none}.ecod_editor__foot{display:flex;align-items:center;justify-content:space-between;padding:0 var(--ecod-sp-3) var(--ecod-sp-2);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_editor__count{font-variant-numeric:tabular-nums}.ecod_editor__count.is-warn{color:var(--ecod-danger-text)}.ecod_respond .ecod_formfoot{justify-content:flex-end}.ecod_respond__tip{margin:0 auto 0 0;font-size:var(--ecod-fs-xs);line-height:1.5;color:var(--ecod-danger-text)}.ecod_respond__tip[hidden]{display:none}.ecod_respond button[type=submit][disabled]{opacity:.6;cursor:not-allowed}.ecod_hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}html[data-theme=dark] .ecod_article__locked{background:#232838;color:#98a1b6}html[data-theme=dark] .ecod_locknote{border-color:#2a3040;background:linear-gradient(135deg,#1b2033,#1e1c33 60%,#241d2e)}html[data-theme=dark] .ecod_content.is-locked .protected{background:var(--ecod-surface)}html[data-theme=dark] .ecod_content.is-locked .protected input.text{background:var(--ecod-surface-2);color:var(--ecod-text)}html[data-theme=dark] .ecod_respond .ecod_editor{background:var(--ecod-surface-2)}html[data-theme=dark] .ecod_respond .ecod_editor:focus-within{background:#1f2431}@media(max-width:680px){.ecod_content.is-locked .protected{padding:var(--ecod-sp-4) var(--ecod-sp-4)}.ecod_content.is-locked .protected p:last-child{flex-direction:column}.ecod_content.is-locked .protected input.submit{width:100%}.ecod_respond .ecod_formfoot{flex-direction:column-reverse;align-items:stretch}.ecod_respond__tip{margin:0;text-align:center}.ecod_respond .ecod_formfoot .ecod_btn{width:100%}}}@layer components{.ecod_note{margin:1em 0;border:1px solid var(--ecod-border);border-left:3px solid var(--ecod-primary);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);overflow:hidden}.ecod_note__head{display:flex;align-items:center;gap:var(--ecod-sp-1);padding:var(--ecod-sp-3) var(--ecod-sp-4) 0;font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-primary-text)}.ecod_note__head .ecod_icon{flex:none}.ecod_note__body{padding:var(--ecod-sp-1) var(--ecod-sp-4) var(--ecod-sp-3);font-size:var(--ecod-fs-sm);line-height:20px;color:var(--ecod-text-2)}.ecod_note__body>:first-child{margin-top:0}.ecod_note__body>:last-child{margin-bottom:0}.ecod_note.is-tip{border-left-color:var(--ecod-success)}.ecod_note.is-tip .ecod_note__head{color:var(--ecod-success-ink)}.ecod_note.is-warn{border-left-color:var(--ecod-accent)}.ecod_note.is-warn .ecod_note__head{color:#b45309}.ecod_note.is-danger{border-left-color:var(--ecod-danger-text)}.ecod_note.is-danger .ecod_note__head{color:#c0392b}.ecod_fold{margin:1em 0;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);overflow:hidden}.ecod_fold>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text);cursor:pointer;list-style:none;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_fold>summary::-webkit-details-marker{display:none}@media(hover:hover){.ecod_fold>summary:hover{background:var(--ecod-surface-2)}}.ecod_fold__chev{display:inline-flex;color:var(--ecod-text-3);transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_fold[open] .ecod_fold__chev{transform:rotate(90deg)}.ecod_fold__body{padding:2px var(--ecod-sp-4) var(--ecod-sp-3);font-size:var(--ecod-fs-md);color:var(--ecod-text-2);border-top:1px solid var(--ecod-border)}.ecod_fold__body>:first-child{margin-top:var(--ecod-sp-2)}.ecod_fold__body>:last-child{margin-bottom:0}.ecod_ctabs{margin:1em 0;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);overflow:hidden}.ecod_tabs__nav{display:flex;gap:2px;padding:var(--ecod-sp-1) var(--ecod-sp-1) 0;background:var(--ecod-surface-2);border-bottom:1px solid var(--ecod-border);overflow-x:auto}.ecod_tabs__btn{flex:none;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:0;border-radius:var(--ecod-radius-sm) var(--ecod-radius-sm) 0 0;background:transparent;color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease),box-shadow var(--ecod-dur-fast) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease);white-space:nowrap}@media(hover:hover){.ecod_tabs__btn:hover{color:var(--ecod-primary-text)}}.ecod_tabs__btn.is-active{background:var(--ecod-surface);color:var(--ecod-primary-text);font-weight:600;box-shadow:0 -1px 0 var(--ecod-border),1px 0 0 var(--ecod-border),-1px 0 0 var(--ecod-border)}.ecod_tabs__panel{display:none;padding:var(--ecod-sp-3) var(--ecod-sp-4);font-size:var(--ecod-fs-md);color:var(--ecod-text-2)}.ecod_tabs__panel.is-active{display:block}.ecod_tabs__panel>:first-child{margin-top:0}.ecod_tabs__panel>:last-child{margin-bottom:0}.ecod_timeline{list-style:none;margin:1em 0;padding:0 0 0 var(--ecod-sp-1)}.ecod_timeline__item{position:relative;padding:0 0 var(--ecod-sp-4) var(--ecod-sp-5);border-left:2px solid var(--ecod-border)}.ecod_timeline__item:last-child{border-left-color:transparent;padding-bottom:0}.ecod_timeline__dot{position:absolute;left:-6px;top:4px;width:10px;height:10px;border-radius:50%;background:var(--ecod-surface);border:2px solid var(--ecod-primary)}.ecod_timeline__time{display:block;font-size:var(--ecod-fs-xs);font-weight:600;color:var(--ecod-primary-text);font-variant-numeric:tabular-nums}.ecod_timeline__text{margin:2px 0 0;font-size:var(--ecod-fs-md);color:var(--ecod-text-2)}.ecod_content mark.ecod_mark{padding:1px 3px;border-radius:var(--ecod-radius-xs);background:#fff3bf;color:inherit}.ecod_kbd{display:inline-block;padding:1px var(--ecod-sp-1);border:1px solid var(--ecod-border-strong);border-bottom-width:2px;border-radius:var(--ecod-radius-xs);background:var(--ecod-surface-2);font-family:var(--ecod-mono);font-size:var(--ecod-fs-xs);line-height:1.6;color:var(--ecod-text-2)}.ecod_replybox{margin:1em 0;padding:var(--ecod-sp-5) var(--ecod-sp-4);border:1px dashed var(--ecod-border-strong);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);text-align:center}.ecod_replybox.is-open{padding:0;border:0;background:transparent;text-align:left}.ecod_replybox__lock{color:var(--ecod-text-3);margin-bottom:var(--ecod-sp-1)}.ecod_replybox b{display:block;font-size:var(--ecod-fs-md);color:var(--ecod-text)}.ecod_replybox p{margin:var(--ecod-sp-1) 0 0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ecod_dl{display:flex;align-items:center;gap:var(--ecod-sp-3);margin:1em 0;padding:var(--ecod-sp-3) var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);text-decoration:none;transition:border-color var(--ecod-dur) var(--ecod-ease),background-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_dl:hover{border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft);box-shadow:var(--ecod-shadow)}}.ecod_dl__icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border-radius:var(--ecod-radius);background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}@media(hover:hover){.ecod_dl:hover .ecod_dl__icon{background:#fff}}.ecod_dl__main{flex:1;min-width:0}.ecod_dl__main b{display:block;font-size:var(--ecod-fs-md);color:var(--ecod-text)}.ecod_dl__main small{display:block;margin-top:1px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_dl__size{flex:none;padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_dl__icon--pan{color:#fff;font-weight:700;font-size:var(--ecod-fs-md);line-height:1;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.ecod_dl__pan{flex:none;padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);border:1px solid currentColor;font-size:var(--ecod-fs-2xs);font-weight:600;opacity:.9}html[data-theme=dark] .ecod_content mark.ecod_mark{background:#5c4d1c;color:#ffe9a0}html[data-theme=dark] .ecod_tabs__btn.is-active{box-shadow:none;background:#242a3a}.ecod_run{margin:var(--ecod-sp-5) 0;background:var(--ecod-surface);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius);overflow:hidden}.ecod_run__head{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-2) 0 var(--ecod-sp-4);border-bottom:1px solid var(--ecod-line)}.ecod_run__icon{flex:none;width:28px;height:28px;display:grid;place-items:center;background:var(--ecod-primary-soft);color:var(--ecod-primary-text);border-radius:var(--ecod-radius-sm)}.ecod_run__icon .ecod_icon{display:block}.ecod_run__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text)}.ecod_run__tabs{margin-left:auto;display:flex;gap:var(--ecod-sp-1);flex:none}.ecod_run__tab{appearance:none;border:0;background:transparent;cursor:pointer;position:relative;font-family:inherit;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3);padding:var(--ecod-sp-2) var(--ecod-sp-3) var(--ecod-sp-3);transition:color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_run__tab:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:2px;border-radius:1px;background:transparent;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_run__tab[aria-selected=true]{color:var(--ecod-text);font-weight:600}.ecod_run__tab[aria-selected=true]:after{background:var(--ecod-text)}.ecod_run__tab:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}@media(hover:hover){.ecod_run__tab:hover{color:var(--ecod-text-2)}}.ecod_run__pane[hidden]{display:none!important}.ecod_run__stage{position:relative}.ecod_run__frame{display:block;width:100%;border:0;vertical-align:top;min-height:120px;background:transparent}.ecod_run__ph{height:140px;background:var(--ecod-surface-2);display:grid;place-items:center;color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_run__ph i{width:16px;height:16px;margin-right:var(--ecod-sp-2);border:2px solid var(--ecod-border);border-top-color:var(--ecod-primary-text);border-radius:50%;animation:ecod-run-spin .8s linear infinite}@keyframes ecod-run-spin{to{transform:rotate(360deg)}}.ecod_run__mask{display:grid;place-items:center;min-height:220px;width:100%;border:0;cursor:pointer;font-family:inherit;background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--ecod-text) 7%,transparent) 1px,transparent 0) 0 0 / 16px 16px,var(--ecod-surface-2)}.ecod_run__mask b{display:inline-flex;align-items:center;gap:var(--ecod-sp-2);padding:12px var(--ecod-sp-6);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-btn);color:var(--ecod-primary-ink);font-size:var(--ecod-fs-md);font-weight:600;box-shadow:var(--ecod-shadow-sm);transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_run__mask b .ecod_icon{display:block}@media(hover:hover){.ecod_run__mask:hover b{transform:scale(1.04)}}.ecod_run__err{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);margin:var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);background:color-mix(in srgb,var(--ecod-danger) 8%,var(--ecod-surface));border:1px solid color-mix(in srgb,var(--ecod-danger) 28%,var(--ecod-border));border-radius:var(--ecod-radius-sm);color:var(--ecod-danger-text);font-family:var(--ecod-mono);font-size:var(--ecod-fs-xs);line-height:1.6;word-break:break-all}.ecod_run__err .ecod_icon{flex:none;margin-top:3px}.ecod_run__err button{margin-left:auto;flex:none;border:0;background:transparent;cursor:pointer;color:inherit;opacity:.6;font-size:var(--ecod-fs-md);line-height:1;padding:0 var(--ecod-sp-1)}@media(hover:hover){.ecod_run__err button:hover{opacity:1}}.ecod_run .ecod_codeblock{margin:0;border-radius:0}@media(pointer:coarse){.ecod_run__tab{min-height:40px;display:inline-flex;align-items:center}}}@layer components{.ecod_readers{display:flex;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-4);height:600px}.ecod_readers__rail{flex:1 1 0;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 91%,transparent)}.ecod_readers__track{animation:ecod-rail-scroll 40s linear infinite;will-change:transform}.ecod_readers__rail:nth-child(2n) .ecod_readers__track{animation-direction:reverse}@keyframes ecod-rail-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@media(hover:hover){.ecod_readers__rail:hover .ecod_readers__track{animation-play-state:paused}}.ecod_readers__half{display:flex;flex-direction:column;gap:var(--ecod-sp-3);padding-bottom:var(--ecod-sp-3)}@media(prefers-reduced-motion:reduce){.ecod_readers__track{animation:none}.ecod_readers__rail{overflow-y:auto;-webkit-mask-image:none;mask-image:none}.ecod_readers__half[aria-hidden=true]{display:none}}.ecod_reader{position:relative;display:flex;flex-direction:column;gap:var(--ecod-sp-3);padding:var(--ecod-card-pad);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);transition:transform var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease),border-color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_reader:hover{transform:translateY(-2px);box-shadow:var(--ecod-shadow-hover);border-color:var(--ecod-line-strong)}}.ecod_reader__rank{position:absolute;top:9px;right:9px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--ecod-sp-1);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs);font-weight:700;font-variant-numeric:tabular-nums}.ecod_reader__quote{margin:0;padding-right:22px;font-size:var(--ecod-fs-lg);font-weight:500;line-height:1.75;color:var(--ecod-text);overflow-wrap:break-word;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;overflow:hidden}.ecod_reader__foot{display:flex;align-items:center;gap:var(--ecod-sp-2);min-width:0;margin-top:auto}.ecod_reader__avatar{flex:none;width:40px;height:40px;border-radius:var(--ecod-avatar-radius);object-fit:cover;background:var(--ecod-surface-2)}.ecod_reader__who{min-width:0;display:flex;flex-direction:column;gap:1px}.ecod_reader__name{font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){a.ecod_reader__name:hover,a.ecod_reader__quote:hover{color:var(--ecod-primary-text)}}.ecod_reader__who small{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_reader.is-gold{border-color:#f0d79b;background:linear-gradient(135deg,#fffdf4,var(--ecod-surface) 62%)}.ecod_reader.is-silver{border-color:#dbe1ea;background:linear-gradient(135deg,#fbfcfe,var(--ecod-surface) 62%)}.ecod_reader.is-bronze{border-color:#f0d3bb;background:linear-gradient(135deg,#fffaf6,var(--ecod-surface) 62%)}.ecod_reader.is-gold .ecod_reader__rank{background:linear-gradient(135deg,#f7d070,#dda028);color:#fff}.ecod_reader.is-silver .ecod_reader__rank{background:linear-gradient(135deg,#dfe5ee,#b9c2d1);color:#fff}.ecod_reader.is-bronze .ecod_reader__rank{background:linear-gradient(135deg,#f0c09a,#cf8a58);color:#fff}.ecod_reader.is-gold .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-gold)}.ecod_reader.is-silver .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-silver)}.ecod_reader.is-bronze .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-bronze)}@media(hover:hover){html[data-theme=dark] .ecod_arch__year>summary:hover{background:#23262f}html[data-theme=dark] .ecod_arch__item:hover{background:#262d47}}html[data-theme=dark] .ecod_reader__rank{background:#2b2f3a}@media(hover:hover){html[data-theme=dark] .ecod_reader:hover{border-color:var(--ecod-line-strong)}}html[data-theme=dark] .ecod_reader.is-gold{background:linear-gradient(135deg,#2b2519,#1d2029 62%);border-color:#5c4a24}html[data-theme=dark] .ecod_reader.is-silver{background:linear-gradient(135deg,#24272f,#1d2029 62%);border-color:#3d434f}html[data-theme=dark] .ecod_reader.is-bronze{background:linear-gradient(135deg,#2a231c,#1d2029 62%);border-color:#58402c}html[data-theme=dark] .ecod_reader.is-gold .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-gold)}html[data-theme=dark] .ecod_reader.is-silver .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-silver)}html[data-theme=dark] .ecod_reader.is-bronze .ecod_reader__avatar{box-shadow:0 0 0 2px var(--ecod-ring-bronze)}@media(max-width:900px){.ecod_readers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.ecod_readers__rail,.ecod_readers__track,.ecod_readers__half{display:contents}.ecod_readers__half[aria-hidden=true]{display:none}}@media(max-width:680px){.ecod_readers{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.ecod_arch__year>summary{padding:var(--ecod-sp-3) var(--ecod-sp-3)}.ecod_arch__body{padding:2px var(--ecod-sp-3) var(--ecod-sp-3)}.ecod_arch__item{padding:var(--ecod-sp-1) var(--ecod-sp-1)}.ecod_arch__cmt{display:none}}}@layer components{.ecod_rel{margin-top:var(--ecod-sp-6);padding-top:var(--ecod-sp-5);border-top:1px solid var(--ecod-line-2)}.ecod_rel__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--ecod-sp-1)}.ecod_rel__card{display:flex;flex-direction:row;align-items:center;gap:var(--ecod-sp-3);min-width:0;padding:var(--ecod-sp-2);background:transparent;border:0;border-radius:var(--ecod-radius-sm);overflow:hidden;transition:background var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_rel__card:hover{background:var(--ecod-surface-2)}}.ecod_rel__cover{position:relative;display:block;flex:none;width:96px;height:64px;border-radius:var(--ecod-radius-sm);background-color:var(--ecod-surface-2);background-image:var(--ecod-cover, none);background-size:cover;background-position:center;background-repeat:no-repeat}.ecod_rel__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:var(--ecod-fs-xl);font-weight:700;color:#fff;border-radius:inherit;background:linear-gradient(135deg,#8ea2f2,#b09bf0)}.ecod_rel__body{display:flex;flex-direction:column;gap:var(--ecod-sp-1);padding:0;min-width:0}.ecod_rel__why{align-self:flex-start;max-width:100%;padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-2xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_rel__title{font-size:var(--ecod-fs-md);font-weight:600;line-height:1.5;color:var(--ecod-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_rel__card:hover .ecod_rel__title{color:var(--ecod-primary-text)}}.ecod_rel__meta{display:flex;align-items:center;gap:var(--ecod-sp-2);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}.ecod_rel__meta span{display:inline-flex;align-items:center;gap:3px}@media(hover:hover){html[data-theme=dark] .ecod_rel__card:hover{border-color:#3a3f4d}}html[data-theme=dark] .ecod_rel__why{background:#262d47;color:#9db0ff}@media(max-width:900px){.ecod_rel__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ecod_rel__grid{grid-template-columns:minmax(0,1fr)}.ecod_rel__cover{aspect-ratio:21 / 9}}}@layer components{.ecod_pay{position:relative;margin:1.6em 0;padding:var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:radial-gradient(120% 100% at 100% 0%,color-mix(in srgb,var(--ecod-primary) 8%,transparent),transparent 60%),var(--ecod-surface);box-shadow:var(--ecod-shadow)}.ecod_pay__head{display:flex;align-items:center;gap:var(--ecod-sp-2)}.ecod_pay__flag{flex:none;padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:color-mix(in srgb,var(--ecod-primary) 12%,transparent);color:var(--ecod-primary-text);font-size:var(--ecod-fs-2xs);font-weight:700;line-height:1.9}.ecod_pay__title{font-size:var(--ecod-fs-lg);color:var(--ecod-text)}.ecod_pay__doc{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-sm);line-height:1.75;color:var(--ecod-text-2)}.ecod_pay__perks{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-1) var(--ecod-sp-4);margin:var(--ecod-sp-3) 0 0;padding:0;list-style:none}.ecod_pay__perks li{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_pay__perks svg{color:var(--ecod-success-ink);flex:none}.ecod_pay__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-4);padding-top:var(--ecod-sp-3);border-top:1px dashed var(--ecod-border)}.ecod_pay__price{display:flex;align-items:baseline;gap:3px;color:var(--ecod-primary-text);font-weight:700}.ecod_pay__price em{font-size:var(--ecod-fs-sm);font-style:normal}.ecod_pay__price b{font-size:var(--ecod-fs-3xl);line-height:1;letter-spacing:-.02em}.ecod_pay__price s{margin-left:var(--ecod-sp-1);color:var(--ecod-text-3);font-size:var(--ecod-fs-xs);font-weight:400}.ecod_pay__price--vip{color:var(--ecod-accent-text)}.ecod_pay__price--vip span{margin-right:2px;color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs);font-weight:500}.ecod_pay__viphint{margin-left:var(--ecod-sp-2);padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:color-mix(in srgb,var(--ecod-accent) 12%,transparent);color:var(--ecod-accent-text);font-size:var(--ecod-fs-2xs);font-style:normal;font-weight:600;white-space:nowrap}.ecod_pay__acts{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-left:auto}.ecod_pay__btn,.ecod_pay__vip{display:inline-flex;align-items:center;justify-content:center;gap:var(--ecod-sp-1);min-height:40px;padding:0 var(--ecod-sp-4);border-radius:var(--ecod-radius-full);font-size:var(--ecod-fs-sm);font-weight:600;text-decoration:none;white-space:nowrap;transition:background-color var(--ecod-dur-fast) var(--ecod-ease),border-color var(--ecod-dur-fast) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}.ecod_pay__btn{background:var(--ecod-primary-btn);border:1px solid var(--ecod-primary);color:#fff}@media(hover:hover){.ecod_pay__btn:hover{background:var(--ecod-primary-deep);border-color:var(--ecod-primary-deep);color:#fff}}.ecod_pay__btn:active{transform:translateY(1px)}.ecod_pay__vip{border:1px solid color-mix(in srgb,var(--ecod-accent) 45%,transparent);background:color-mix(in srgb,var(--ecod-accent) 10%,transparent);color:color-mix(in srgb,var(--ecod-accent),#000 18%)}@media(hover:hover){.ecod_pay__vip:hover{background:color-mix(in srgb,var(--ecod-accent) 18%,transparent)}}.ecod_pay__note{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_pay[data-state=expired]{border-color:color-mix(in srgb,var(--ecod-accent) 40%,var(--ecod-border))}.ecod_pay[data-state=expired] .ecod_pay__flag{background:color-mix(in srgb,var(--ecod-accent) 14%,transparent);color:color-mix(in srgb,var(--ecod-accent),#000 22%)}.ecod_pay--mini{padding:var(--ecod-sp-3) var(--ecod-sp-4)}.ecod_pay--mini .ecod_pay__foot{margin-top:var(--ecod-sp-3);padding-top:0;border-top:0}.ecod_pay--owned{margin:var(--ecod-sp-4) 0;padding:var(--ecod-sp-2) var(--ecod-sp-3);border-style:dashed;border-color:color-mix(in srgb,var(--ecod-success) 38%,var(--ecod-border));background:color-mix(in srgb,var(--ecod-success) 7%,var(--ecod-surface));box-shadow:none}.ecod_pay__owned{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);color:color-mix(in srgb,var(--ecod-success),#000 20%);font-size:var(--ecod-fs-xs);font-weight:600}.ecod_content.is-paylocked{position:relative}.ecod_content.is-paylocked:after{content:"";display:block;height:56px;margin-top:-56px;background:linear-gradient(to bottom,transparent,var(--ecod-surface));pointer-events:none}.ecod_article__paid{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:color-mix(in srgb,var(--ecod-accent) 12%,transparent);color:color-mix(in srgb,var(--ecod-accent),#000 20%);font-size:var(--ecod-fs-2xs);font-weight:700}.ecod_replybox--pay{border-style:solid;border-color:color-mix(in srgb,var(--ecod-primary) 28%,var(--ecod-border))}.ecod_replybox__go{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-4);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-btn);color:#fff;font-size:var(--ecod-fs-sm);font-weight:600;text-decoration:none}@media(hover:hover){.ecod_replybox__go:hover{background:var(--ecod-primary-deep);color:#fff}}.ecod_cashier{max-width:560px;margin:0 auto}.ecod_cashier__box{padding:var(--ecod-sp-5);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow)}.ecod_cashier__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ecod-sp-3)}.ecod_cashier__amount{min-width:0}.ecod_cashier__amountlabel{display:block;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_cashier__money{display:flex;align-items:baseline;gap:0;margin:4px 0 0;line-height:1.1;color:var(--ecod-text)}.ecod_cashier__money b{font-size:var(--ecod-fs-4xl);font-weight:700;letter-spacing:-.02em}.ecod_cashier__money--text{font-size:var(--ecod-fs-sm);font-weight:600;line-height:1.5;word-break:break-word}.ecod_cashier__cur{font-size:var(--ecod-fs-lg);font-weight:600}.ecod_cashier__tag{flex:none;display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-2xs);line-height:18px;white-space:nowrap}.ecod_cashier__tag--ok{background:color-mix(in srgb,var(--ecod-success) 12%,var(--ecod-surface));color:color-mix(in srgb,var(--ecod-success),#000 25%)}.ecod_cashier__meta{display:grid;gap:4px;margin:var(--ecod-sp-4) 0 0;padding:var(--ecod-sp-3) 0 0;border-top:1px dashed var(--ecod-border)}.ecod_cashier__meta>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ecod-sp-4);font-size:var(--ecod-fs-xs)}.ecod_cashier__meta dt{flex:none;color:var(--ecod-text-3)}.ecod_cashier__meta dd{margin:0;min-width:0;color:var(--ecod-text-2);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_cashier__paysec{margin-top:var(--ecod-sp-5)}.ecod_cashier__payw{--pw-bg: #18181b;--pw-bg-2: #27272a;--pw-bg-3: #3f3f46;--pw-ink: #ffffff;--pw-ink-2: #a1a1aa;--pw-collapsed-h: 64px;--pw-open-h: 396px;--pw-spring: cubic-bezier(.34, 1.35, .45, 1);--pw-rise: cubic-bezier(.34, 1, .45, 1);--pw-ease-close: cubic-bezier(.32, .72, 0, 1);--pw-dur-open: .52s;--pw-dur-close: .34s;position:relative}[data-theme=dark] .ecod_cashier__payw{--pw-bg: #24282f;--pw-bg-2: #2f3542;--pw-bg-3: #3a4150;--pw-ink: #f4f6fa;--pw-ink-2: #98a1b0}.ecod_cashier__shell{position:relative;height:var(--pw-collapsed-h);border-radius:calc(var(--pw-collapsed-h) / 2);background:var(--pw-bg);box-shadow:0 8px 24px #12161d29,inset 0 1px #ffffff0f;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(#fff,#000);transition:height var(--pw-dur-close) var(--pw-ease-close),border-radius var(--pw-dur-close) var(--pw-rise)}.ecod_cashier__payw[data-open="1"] .ecod_cashier__shell{height:var(--pw-open-h);border-radius:var(--ecod-radius);transition:height var(--pw-dur-open) var(--pw-spring),border-radius var(--pw-dur-open) var(--pw-rise)}.ecod_cashier__sum{position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:var(--ecod-sp-3);width:100%;height:var(--pw-collapsed-h);padding:0 var(--ecod-sp-4) 0 var(--ecod-sp-5);border:0;background:transparent;color:var(--pw-ink);font-family:inherit;text-align:left;cursor:pointer;transition:opacity .18s var(--ecod-ease) .1s,visibility 0s}.ecod_cashier__payw[data-open="1"] .ecod_cashier__sum{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s var(--ecod-ease),visibility 0s .12s}.ecod_cashier__sum:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}.ecod_cashier__stack{flex:none;display:flex;align-items:center;padding-left:var(--ecod-sp-2)}.ecod_cashier__stack .ecod_cashier__mk{width:30px;height:30px;margin-left:-8px;border-radius:var(--ecod-radius-full);font-size:var(--ecod-fs-xs);box-shadow:0 0 0 2px var(--pw-bg)}.ecod_cashier__stext{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:var(--ecod-sp-1)}.ecod_cashier__stext b{overflow:hidden;color:var(--pw-ink);font-size:var(--ecod-fs-md);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ecod_cashier__stext small{color:var(--pw-ink-2);font-size:var(--ecod-fs-xs)}.ecod_cashier__chev{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ecod-radius-full);color:var(--pw-ink-2);transition:transform var(--pw-dur-close) var(--pw-ease-close),background-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_cashier__sum:hover .ecod_cashier__chev{background:#ffffff14;color:var(--pw-ink)}}.ecod_cashier__payw[data-open="1"] .ecod_cashier__chev{transform:rotate(180deg);transition:transform var(--pw-dur-open) var(--pw-spring)}.ecod_cashier__panel{position:relative;padding:var(--ecod-sp-5);opacity:0;transform:translateY(6px);visibility:hidden;transition:opacity .14s var(--ecod-ease),transform var(--pw-dur-close) var(--pw-ease-close),visibility 0s .34s}.ecod_cashier__payw[data-open="1"] .ecod_cashier__panel{opacity:1;transform:none;visibility:visible;transition:opacity .26s var(--ecod-ease) .04s,transform var(--pw-dur-open) var(--pw-spring),visibility 0s}.ecod_cashier__phead{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-3)}.ecod_cashier__phead h4{margin:0;color:var(--pw-ink);font-size:var(--ecod-fs-base);font-weight:600}.ecod_cashier__fold{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);min-height:28px;padding:0 var(--ecod-sp-2);border:0;border-radius:var(--ecod-radius-full);background:transparent;color:var(--pw-ink-2);font-family:inherit;font-size:var(--ecod-fs-xs);cursor:pointer;transition:background-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_cashier__fold:hover{background:#ffffff14;color:var(--pw-ink)}}.ecod_cashier__fold:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}.ecod_cashier__rows{display:flex;flex-direction:column;gap:var(--ecod-sp-1);max-height:min(52vh,420px);margin-top:var(--ecod-sp-3);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--pw-bg-3) transparent}.ecod_cashier__rows::-webkit-scrollbar{width:6px}.ecod_cashier__rows::-webkit-scrollbar-thumb{border-radius:var(--ecod-radius-full);background:var(--pw-bg-3)}.ecod_cashier__rows::-webkit-scrollbar-track{background:transparent}.ecod_cashier__row{display:flex;align-items:center;gap:var(--ecod-sp-3);width:100%;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--pw-ink);font-family:inherit;text-align:left;cursor:pointer;opacity:0;transform:translateY(8px);transition:opacity .1s var(--ecod-ease),transform var(--pw-dur-close) var(--pw-ease-close),background-color var(--ecod-dur) var(--ecod-ease)}.ecod_cashier__payw[data-open="1"] .ecod_cashier__row{opacity:1;transform:none;transition:opacity .3s var(--ecod-ease) var(--d, .06s),transform var(--pw-dur-open) var(--pw-spring) var(--d, .06s),background-color var(--ecod-dur) var(--ecod-ease)}.ecod_cashier__rows .ecod_cashier__row:nth-child(1){--d: .04s}.ecod_cashier__rows .ecod_cashier__row:nth-child(2){--d: .08s}.ecod_cashier__rows .ecod_cashier__row:nth-child(3){--d: .12s}.ecod_cashier__rows .ecod_cashier__row:nth-child(4){--d: .16s}.ecod_cashier__rows .ecod_cashier__row:nth-child(5){--d: .2s}.ecod_cashier__rows .ecod_cashier__row:nth-child(n+6){--d: .24s}@media(hover:hover){.ecod_cashier__row:hover{background:#ffffff0f}}.ecod_cashier__row:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}.ecod_cashier__row.is-on{background:color-mix(in srgb,var(--ecod-primary) 22%,transparent)}.ecod_cashier__rtext{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}.ecod_cashier__rtext b{display:flex;align-items:center;gap:var(--ecod-sp-2);color:var(--pw-ink);font-size:var(--ecod-fs-md);font-weight:500}.ecod_cashier__rtext small{overflow:hidden;color:var(--pw-ink-2);font-size:var(--ecod-fs-xs);text-overflow:ellipsis;white-space:nowrap}.ecod_cashier__reco{flex:none;padding:0 var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);background:color-mix(in srgb,var(--ecod-primary) 32%,transparent);color:#c7d2ff;font-size:var(--ecod-fs-2xs);font-style:normal;font-weight:600;line-height:1.6}.ecod_cashier__pick{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:56px;min-height:28px;padding:0 var(--ecod-sp-3);border-radius:var(--ecod-radius-full);background:#ffffff1a;color:var(--pw-ink);font-size:var(--ecod-fs-xs);font-weight:600;transition:background-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_cashier__row:hover .ecod_cashier__pick{background:#ffffff29}}.ecod_cashier__row.is-on .ecod_cashier__pick{background:var(--ecod-primary-btn);color:#fff}.ecod_cashier__pnote{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);margin:var(--ecod-sp-3) 0 0;color:var(--pw-ink-2);font-size:var(--ecod-fs-2xs);line-height:1.7}.ecod_cashier__pnote svg{flex:none;position:relative;top:2px;width:13px;height:13px}.ecod_cashier__mk{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ecod-radius-sm);background:#64748b;color:#fff;font-style:normal}.ecod_cashier__mk b{font-size:var(--ecod-fs-base);font-weight:700;line-height:1}.ecod_cashier__mk svg{width:17px;height:17px}.ecod_cashier__mk.is-alipay{background:#1677ff}.ecod_cashier__mk.is-wxpay{background:#07c160}.ecod_cashier__mk.is-paypal{background:#0070ba}.ecod_cashier__mk.is-stripe{background:#635bff}.ecod_cashier__mk.is-balance{background:#f59e0b}.ecod_cashier__mk.is-card{background:#64748b}.ecod_cashier__mk.is-manual{background:#6366f1}.ecod_cashier__detail{margin-top:var(--ecod-sp-3);padding:var(--ecod-sp-3) var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);line-height:1.75}.ecod_cashier__pane{display:none}.ecod_cashier__pane.is-on{display:block}.ecod_cashier__pane p{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);margin:0}.ecod_cashier__pane p svg{flex:none;position:relative;top:3px;color:var(--ecod-success-ink)}.ecod_cashier__pane code{padding:1px var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);background:var(--ecod-surface);font-family:var(--ecod-mono);font-size:var(--ecod-fs-xs);color:var(--ecod-text)}.ecod_cashier__manual{white-space:normal}.ecod_cashier__hint{margin:var(--ecod-sp-2) 0 0;color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs)}.ecod_cashier__balrow{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ecod-sp-3)}.ecod_cashier__balrow span{color:var(--ecod-text-3)}.ecod_cashier__balrow b{color:var(--ecod-text);font-weight:600}.ecod_cashier__balrest{display:block;margin:var(--ecod-sp-1) 0 0;color:var(--ecod-text-3)}.ecod_cashier__ballack{display:block;margin:var(--ecod-sp-1) 0 0;color:var(--ecod-danger-text)}.ecod_cashier__ballack[hidden]{display:none}.ecod_cashier__ballack a{color:var(--ecod-primary-text);font-weight:600;text-decoration:none}.ecod_cashier__ballack a:hover{text-decoration:underline}.ecod_cashier__code{display:flex;gap:var(--ecod-sp-2)}.ecod_cashier__code input{flex:1;min-width:0;height:40px;padding:0 var(--ecod-sp-3);border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);color:var(--ecod-text);font-family:var(--ecod-mono);font-size:var(--ecod-fs-sm);letter-spacing:.06em}.ecod_cashier__code input:focus{border-color:var(--ecod-primary-text);outline:none;box-shadow:var(--ecod-ring)}.ecod_cashier__code button{flex:none;min-height:40px;padding:0 var(--ecod-sp-4);border:1px solid var(--ecod-primary);border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-btn);color:#fff;font-size:var(--ecod-fs-sm);font-weight:600;font-family:inherit;cursor:pointer}@media(hover:hover){.ecod_cashier__code button:hover{background:var(--ecod-primary-deep);border-color:var(--ecod-primary-deep)}}.ecod_cashier__coupon{display:flex;gap:var(--ecod-sp-2);margin-top:14px}.ecod_cashier__coupon input{flex:1;min-width:0;height:38px;padding:0 var(--ecod-sp-3);border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);color:var(--ecod-text);font-size:var(--ecod-fs-sm);letter-spacing:.02em}.ecod_cashier__coupon input:focus{border-color:var(--ecod-primary-text);outline:none;box-shadow:var(--ecod-ring)}.ecod_cashier__coupon button{flex:none;min-height:38px;padding:0 var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text);font-size:var(--ecod-fs-sm);font-weight:600;font-family:inherit;cursor:pointer;transition:border-color var(--ecod-dur) var(--ecod-ease),color var(--ecod-dur) var(--ecod-ease)}.ecod_cashier__coupon button:disabled{opacity:.6;cursor:default}@media(hover:hover){.ecod_cashier__coupon button:hover:not(:disabled){border-color:var(--ecod-primary-text);color:var(--ecod-primary-text)}}.ecod_cashier__discount{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-success-ink)}[data-theme=dark] .ecod_cashier__discount{color:var(--ecod-success-ink)}.ecod_cashier__status{margin-top:var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_cashier__status.is-ok{background:color-mix(in srgb,var(--ecod-success) 10%,var(--ecod-surface));color:color-mix(in srgb,var(--ecod-success),#000 25%)}.ecod_cashier__status.is-bad{background:color-mix(in srgb,var(--ecod-danger) 9%,var(--ecod-surface));color:var(--ecod-danger-text)}.ecod_cashier__result{margin-top:var(--ecod-sp-3);padding:var(--ecod-sp-3) var(--ecod-sp-4);border:1px dashed var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);line-height:1.8}.ecod_cashier__result p{margin:0}.ecod_cashier__result img{max-width:100%;height:auto}.ecod_cashier__qr{display:flex;align-items:center;justify-content:center;gap:var(--ecod-sp-4);flex-wrap:wrap}.ecod_cashier__qrcode{display:block;width:168px;height:168px;padding:var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);background:#fff;box-shadow:0 0 0 1px var(--ecod-border)}.ecod_cashier__qrtip{margin:0;color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);line-height:1.8}.ecod_cashier__qrtip span{display:block;color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_cashier__action{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-4);margin-top:var(--ecod-sp-5)}.ecod_cashier__action--solo{justify-content:flex-start}.ecod_cashier__actiondue{display:flex;align-items:baseline;gap:8px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_cashier__actiondue b{font-size:var(--ecod-fs-lg);font-weight:700;color:var(--ecod-primary-text)}.ecod_cashier__pay{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 var(--ecod-sp-6);border:1px solid var(--ecod-primary);border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-btn);color:#fff;font-size:var(--ecod-fs-sm);font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;transition:background-color var(--ecod-dur) var(--ecod-ease),border-color var(--ecod-dur) var(--ecod-ease),opacity var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_cashier__pay:hover{background:var(--ecod-primary-deep);border-color:var(--ecod-primary-deep)}}.ecod_cashier__pay[disabled]{opacity:.55;cursor:not-allowed}.ecod_cashier.is-card .ecod_cashier__action{display:none}.ecod_cashier__foot{margin:var(--ecod-sp-3) 0 0;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);text-align:center}.ecod_vip__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ecod-sp-4);align-items:stretch}.ecod_vip__card{display:flex;flex-direction:column;padding:var(--ecod-sp-6);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow)}.ecod_vip__card--2{border-color:color-mix(in srgb,var(--ecod-accent) 42%,var(--ecod-border));background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--ecod-accent) 12%,transparent),transparent 62%),var(--ecod-surface)}.ecod_vip__head{display:flex;align-items:flex-start;gap:var(--ecod-sp-3)}.ecod_vip__ico{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:none;border-radius:var(--ecod-radius-sm);color:var(--ecod-accent-text);background:color-mix(in srgb,var(--ecod-accent) 10%,transparent)}.ecod_vip__card--2 .ecod_vip__ico{color:#fff;background:var(--ecod-accent)}.ecod_vip__headmain{min-width:0}.ecod_vip__name{display:flex;align-items:center;gap:var(--ecod-sp-2);margin:2px 0 0;font-size:var(--ecod-fs-xl);color:var(--ecod-text)}.ecod_vip__pick{display:inline-flex;align-items:center;padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);font-style:normal;font-size:var(--ecod-fs-2xs);font-weight:600;color:var(--ecod-accent-text);background:color-mix(in srgb,var(--ecod-accent) 12%,transparent)}.ecod_vip__desc{margin:var(--ecod-sp-1) 0 0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ecod_vip__perks{flex-direction:column;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-4)}.ecod_vip__perks li{display:flex;align-items:center;font-size:var(--ecod-fs-sm);color:var(--ecod-text-2)}.ecod_vip__plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-4)}.ecod_vip__plan{display:flex;flex-direction:column;gap:2px;padding:var(--ecod-sp-3) var(--ecod-sp-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);text-decoration:none;color:var(--ecod-text);transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background-color var(--ecod-dur-fast) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease),box-shadow var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_vip__plan:hover{border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft);transform:translateY(-1px);box-shadow:var(--ecod-shadow)}}.ecod_vip__plan.is-best{border-color:color-mix(in srgb,var(--ecod-accent) 34%,var(--ecod-border))}.ecod_vip__plan-top{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2)}.ecod_vip__plan-top b{font-size:var(--ecod-fs-sm);font-weight:600}.ecod_vip__plan-save{display:inline-flex;padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);font-style:normal;font-size:var(--ecod-fs-2xs);font-weight:600;color:var(--ecod-accent-text);background:color-mix(in srgb,var(--ecod-accent) 12%,transparent)}.ecod_vip__plan-days{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_vip__plan-price{margin-top:var(--ecod-sp-1);font-style:normal;font-size:var(--ecod-fs-xl);font-weight:700;color:var(--ecod-primary-text);font-variant-numeric:tabular-nums}.ecod_vip__plan__avg{font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_vip__empty{padding:var(--ecod-sp-6);text-align:center;color:var(--ecod-text-3);font-size:var(--ecod-fs-sm)}.ecod_vip__hint{margin:var(--ecod-sp-3) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_vip__hint a{color:var(--ecod-primary-text)}.ecod_vip__me{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--ecod-sp-1) var(--ecod-sp-3);padding:var(--ecod-sp-3) var(--ecod-sp-4);border:1px solid color-mix(in srgb,var(--ecod-success) 36%,var(--ecod-border));border-radius:var(--ecod-radius);background:color-mix(in srgb,var(--ecod-success) 8%,var(--ecod-surface));font-size:var(--ecod-fs-sm);color:var(--ecod-text-2)}.ecod_vip__me-main{display:inline-flex;align-items:center;gap:var(--ecod-sp-2);color:var(--ecod-text)}.ecod_vip__me-main svg{color:var(--ecod-success-ink)}.ecod_vip__me-main em{font-style:normal;color:var(--ecod-text-3)}.ecod_vip__me-sub{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_vip__faq{margin-top:var(--ecod-sp-7)}.ecod_vip__faq-title{margin:0 0 var(--ecod-sp-3);font-size:var(--ecod-fs-lg);color:var(--ecod-text)}.ecod_vip__faq-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecod-sp-3)}.ecod_vip__faq-item{padding:var(--ecod-sp-4) var(--ecod-sp-4);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_vip__faq-item b{display:block;margin-bottom:var(--ecod-sp-1);font-size:var(--ecod-fs-sm);color:var(--ecod-text)}.ecod_vip__faq-item p{margin:0;font-size:var(--ecod-fs-xs);line-height:1.7;color:var(--ecod-text-3)}@media(max-width:680px){.ecod_pay{padding:var(--ecod-sp-4)}.ecod_pay__foot{flex-wrap:wrap}.ecod_pay__acts{width:100%;margin-left:0}.ecod_pay__btn,.ecod_pay__vip{flex:1;min-height:44px}.ecod_vip__grid,.ecod_vip__faq-grid{grid-template-columns:1fr}.ecod_cashier__box{padding:var(--ecod-sp-4)}.ecod_cashier__code{flex-wrap:wrap}.ecod_cashier__code button{width:100%}.ecod_cashier__coupon{flex-wrap:wrap}.ecod_cashier__coupon button{width:100%}.ecod_cashier__action{flex-direction:column-reverse;align-items:stretch;gap:var(--ecod-sp-2)}.ecod_cashier__actiondue{justify-content:space-between}.ecod_cashier__pay{width:100%}.ecod_cashier__panel{padding:var(--ecod-sp-4)}.ecod_cashier__rtext small{display:none}.ecod_cashier__mk{width:30px;height:30px}.ecod_cashier__pick{min-width:48px}}.ecod_content>.ecod_ucard,.ecod_content>.ecod_uchar{margin:var(--ecod-sp-6) 0}.ecod_uchar.is-mini{display:inline-flex;align-items:center;gap:10px;width:calc(50% - 12px);margin:0 var(--ecod-sp-2) var(--ecod-sp-3) 0;vertical-align:top;padding:10px 14px;background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);transition:border-color var(--ecod-dur) var(--ecod-ease)}.ecod_uchar__av{flex:none;display:inline-flex;width:40px;height:40px;border-radius:var(--ecod-avatar-radius);overflow:hidden;background:var(--ecod-surface-2)}.ecod_uchar__av img{width:100%;height:100%;object-fit:cover}.ecod_uchar__main{flex:1;min-width:0}.ecod_uchar__name{display:flex;align-items:center;gap:6px;font-size:var(--ecod-fs-md);font-weight:700;color:var(--ecod-text)}.ecod_uchar__name .ecod_cmt__badge{flex:none}.ecod_uchar__sub{display:block;margin-top:1px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_uchar__go{flex:none;display:inline-flex;color:var(--ecod-text-3);transition:color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_uchar.is-hero{overflow:hidden;background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);box-shadow:var(--ecod-shadow);transition:border-color var(--ecod-dur) var(--ecod-ease)}.ecod_uchar__cover{height:88px;background:var(--ecod-surface-2)}.ecod_uchar__cover img{display:block;width:100%;height:100%;object-fit:cover}.ecod_uchar__cover.is-ph{background:radial-gradient(120% 180% at 85% 0%,var(--ecod-primary-soft) 0%,transparent 60%),linear-gradient(120deg,color-mix(in srgb,var(--ecod-primary) 16%,transparent),transparent 70%)}.ecod_uchar__body{padding:0 var(--ecod-sp-5) 18px}.ecod_uchar__top{display:flex;align-items:flex-end;gap:var(--ecod-sp-3);margin-top:calc(-1 * var(--ecod-sp-7))}.ecod_uchar__avatar{flex:none;display:inline-flex;width:64px;height:64px;border-radius:var(--ecod-avatar-radius);overflow:hidden;border:3px solid var(--ecod-surface);background:var(--ecod-surface-2)}.ecod_uchar__avatar img{width:100%;height:100%;object-fit:cover}.ecod_uchar__joined{padding-bottom:6px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_uchar.is-hero .ecod_uchar__name{margin-top:10px;font-size:var(--ecod-fs-xl);gap:var(--ecod-sp-2);flex-wrap:wrap}.ecod_uchar.is-hero .ecod_uchar__name a{color:inherit}.ecod_uchar__intro{margin:var(--ecod-sp-1) 0 0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-2);line-height:1.7}.ecod_uchar__stats{display:flex;margin-top:14px;border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_uchar__stats span{flex:1;display:flex;align-items:baseline;justify-content:center;gap:5px;padding:9px 0}.ecod_uchar__stats span+span{border-left:1px solid var(--ecod-line)}.ecod_uchar__stats b{font-size:var(--ecod-fs-lg);color:var(--ecod-text)}.ecod_uchar__stats em{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_uchar__ops{display:flex;gap:var(--ecod-sp-2);margin-top:14px}.ecod_uchar__ops .ecod_ucard__follow,.ecod_uchar__ops .ecod_ucard__go{flex:1;justify-content:center}.ecod_uchar.is-miss{padding:var(--ecod-sp-4);border:1px dashed var(--ecod-border-strong);border-radius:var(--ecod-radius);color:var(--ecod-text-3);font-size:var(--ecod-fs-sm);text-align:center}.ecod_content .ecod_ucard.ecod_ucard--box .ecod_ucard__avatar img,.ecod_content .ecod_uchar.is-mini .ecod_uchar__av img,.ecod_content .ecod_uchar.is-hero .ecod_uchar__avatar img,.ecod_content .ecod_uchar.is-hero .ecod_uchar__cover img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;margin:0;border-radius:0;cursor:default}@media(hover:hover){.ecod_content .ecod_ucard.ecod_ucard--box .ecod_ucard__avatar img:hover,.ecod_content .ecod_uchar.is-mini .ecod_uchar__av img:hover,.ecod_content .ecod_uchar.is-hero .ecod_uchar__avatar img:hover,.ecod_content .ecod_uchar.is-hero .ecod_uchar__cover img:hover{transform:none;box-shadow:none}}@media(hover:hover){.ecod_uchar.is-mini:hover,.ecod_uchar.is-hero:hover{border-color:var(--ecod-border-strong)}}@media(max-width:680px){.ecod_uchar.is-mini{width:100%;margin-right:0}.ecod_uchar__body{padding:0 var(--ecod-sp-4) var(--ecod-sp-4)}}}@layer components{.ecod_shcard{position:fixed;inset:0;z-index:var(--ecod-z-lightbox);overscroll-behavior:contain}.ecod_shcard[hidden]{display:none}.ecod_shcard__mask{position:absolute;inset:0;background:var(--ecod-mask);backdrop-filter:blur(var(--ecod-mask-blur));-webkit-backdrop-filter:blur(var(--ecod-mask-blur));transition:opacity var(--ecod-dur) ease}.ecod_shcard__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,calc(100vw - 48px));max-height:calc(100vh - 80px);overflow:auto;background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);box-shadow:var(--ecod-shadow-pop);transition:opacity var(--ecod-dur-slow) var(--ecod-ease),transform var(--ecod-dur-slow) var(--ecod-ease)}@starting-style{.ecod_shcard__mask{opacity:0}.ecod_shcard__panel{opacity:0;transform:translate(-50%,-47%) scale(.96)}}.ecod_shcard__head{display:flex;align-items:center;justify-content:space-between;padding:var(--ecod-sp-3) var(--ecod-sp-3);font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text)}.ecod_shcard__x{display:inline-flex;padding:var(--ecod-sp-1);border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-text-3);cursor:pointer}@media(hover:hover){.ecod_shcard__x:hover{background:var(--ecod-surface-2);color:var(--ecod-text)}}.ecod_shcard__body{margin:0 var(--ecod-sp-3);border-radius:var(--ecod-radius);overflow:hidden;background:var(--ecod-surface-2);min-height:160px;display:flex;align-items:center;justify-content:center}.ecod_shcard__loading{padding:var(--ecod-sp-12) 0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3);animation:ecod-shcard-pulse 1s ease infinite alternate}@keyframes ecod-shcard-pulse{0%{opacity:0}to{opacity:1}}.ecod_shcard__img{display:block;width:100%;max-width:300px;height:auto}.ecod_shcard__img[hidden]{display:none}.ecod_shcard__ops{display:flex;align-items:center;gap:var(--ecod-sp-3);padding:12px 12px calc(12px + env(safe-area-inset-bottom,0px))}.ecod_shcard__save{display:inline-flex;align-items:center;gap:var(--ecod-sp-2);flex:0 0 auto;padding:var(--ecod-sp-2) var(--ecod-sp-4);border:0;border-radius:var(--ecod-radius-full);background:var(--ecod-primary-btn);color:#fff;font-size:var(--ecod-fs-md);font-weight:600;white-space:nowrap;cursor:pointer;transition:transform var(--ecod-dur-fast) var(--ecod-ease),filter var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_shcard__save:hover{filter:brightness(1.06)}}.ecod_shcard__save:active{transform:scale(.96)}.ecod_shcard__tip{flex:1 1 auto;font-size:var(--ecod-fs-xs);line-height:1.4;color:var(--ecod-text-3)}@media(max-width:680px){.ecod_shcard__panel{inset:auto 0 0;transform:none;width:100%;max-height:92vh;overflow:auto;border-radius:var(--ecod-radius) var(--ecod-radius) 0 0}@starting-style{.ecod_shcard__panel{opacity:0;transform:translateY(6%)}}.ecod_shcard__body{margin:0 var(--ecod-sp-3)}.ecod_shcard__ops{position:sticky;bottom:0;background:var(--ecod-surface)}}@media(pointer:coarse){.ecod_card__act button{min-width:40px;height:40px;padding:0 var(--ecod-sp-2)}.ecod_card__act{gap:var(--ecod-sp-1)}.ecod_cmt__anchor{opacity:1;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.ecod_totop{width:40px;height:40px}.ecod_emoji{min-width:40px;min-height:40px;font-size:var(--ecod-fs-xl)}.ecod_slider__dots button{position:relative;min-width:24px;min-height:24px}.ecod_tabs a,.ecod_streambar .ecod_tabs a{min-height:40px;display:inline-flex;align-items:center}}}@layer components{.ecod_content.is-collapsed{max-height:var(--ecod-more-h, 1200px);overflow:hidden}.ecod_morebtn{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:160px;margin:-160px 0 0;padding:var(--ecod-sp-10) 0 0;border:0;background:linear-gradient(180deg,rgba(255,255,255,0),var(--ecod-bg) 78%);color:var(--ecod-primary-text);font:inherit;font-size:var(--ecod-fs-md);font-weight:600;letter-spacing:.02em;cursor:pointer}html[data-theme=dark] .ecod_morebtn{background:linear-gradient(180deg,rgba(18,22,29,0),var(--ecod-bg) 78%)}.ecod_morebtn .ecod_icon{transition:transform var(--ecod-dur-fast) var(--ecod-ease)}.ecod_morebtn[hidden]{display:none}@media(hover:hover){.ecod_morebtn:hover .ecod_icon{transform:translateY(2px)}}}@layer components{.ecod_ai__logo{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:var(--ecod-radius-sm);background:linear-gradient(135deg,var(--ecod-primary),#9d5cf0);color:#fff;font-size:var(--ecod-fs-2xs);font-weight:800;letter-spacing:.5px}.ecod_ai__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-2);padding-top:var(--ecod-sp-2);border-top:1px dashed var(--ecod-border);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_payc{text-align:center;padding:20px var(--ecod-sp-6) 16px}.ecod_payc__lock{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:var(--ecod-sp-2);border-radius:var(--ecod-radius);background:color-mix(in srgb,var(--ecod-accent) 14%,var(--ecod-surface));color:var(--ecod-accent-text)}.ecod_payc__title{display:block;font-size:var(--ecod-fs-lg);color:var(--ecod-ink)}.ecod_payc__sub{margin:var(--ecod-sp-1) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3)}.ecod_payc__price{display:inline-flex;align-items:baseline;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-3);color:var(--ecod-accent-text)}.ecod_payc__price em{font-size:var(--ecod-fs-sm);font-style:normal}.ecod_payc__price b{font-size:var(--ecod-fs-2xl);line-height:1;letter-spacing:-.02em}.ecod_payc__price s{color:var(--ecod-ink-3);font-size:var(--ecod-fs-xs)}.ecod_payc__price i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-3);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-xs);padding:1px var(--ecod-sp-1)}.ecod_payc__acts{display:flex;align-items:center;justify-content:center;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-3);flex-wrap:wrap}.ecod_payc__go{border:0;background:var(--ecod-primary-btn);color:var(--ecod-primary-ink);font-family:inherit;font-size:var(--ecod-fs-sm);font-weight:600;padding:var(--ecod-sp-2) var(--ecod-sp-5);border-radius:var(--ecod-radius-sm);cursor:pointer;transition:background var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_payc__go:hover{background:var(--ecod-primary-deep)}}.ecod_payc__go:active{transform:translateY(1px)}.ecod_payc .ecod_pay__note{margin-top:var(--ecod-sp-3)}.ecod_payrc{display:flex;gap:var(--ecod-sp-4);padding:var(--ecod-sp-4)}.ecod_payrc__thumb{position:relative;flex:none;width:186px;min-height:132px;border-radius:var(--ecod-radius-sm);overflow:hidden;background:var(--ecod-surface-2)}.ecod_payrc__thumb img{width:100%;height:100%;object-fit:cover;display:block}.ecod_payrc__zoom{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:#12161d73;color:#fff;font-size:var(--ecod-fs-2xs);backdrop-filter:blur(4px)}.ecod_payrc__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--ecod-sp-2)}.ecod_payrc__badges{display:flex;align-items:center;gap:var(--ecod-sp-1);flex-wrap:wrap}.ecod_payrc__flag{padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-xs);background:linear-gradient(135deg,#ffe9b8,#ffd77e);color:#8a5800;font-size:var(--ecod-fs-2xs);font-weight:700}.ecod_payrc__badge{padding:1px var(--ecod-sp-2);border-radius:var(--ecod-radius-xs);border:1px solid var(--ecod-border);color:var(--ecod-ink-3);font-size:var(--ecod-fs-2xs)}.ecod_payrc__price{display:flex;align-items:baseline;gap:var(--ecod-sp-1);color:var(--ecod-accent-text)}.ecod_payrc__price em{font-size:var(--ecod-fs-sm);font-style:normal}.ecod_payrc__price b{font-size:var(--ecod-fs-3xl);line-height:1;letter-spacing:-.02em}.ecod_payrc__price s{color:var(--ecod-ink-3);font-size:var(--ecod-fs-xs)}.ecod_payrc__doc{margin:0;font-size:var(--ecod-fs-xs);line-height:1.7;color:var(--ecod-ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ecod_payrc__acts{display:flex;align-items:center;gap:var(--ecod-sp-2);flex-wrap:wrap}.ecod_payrc__buy{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:var(--ecod-sp-2) var(--ecod-sp-5);border-radius:var(--ecod-radius-sm);background:var(--ecod-accent);color:#fff;font-size:var(--ecod-fs-sm);font-weight:700;text-decoration:none;box-shadow:0 4px 12px color-mix(in srgb,var(--ecod-accent) 35%,transparent);transition:filter var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_payrc__buy:hover{filter:brightness(1.05)}}.ecod_payrc__buy:active{transform:translateY(1px)}.ecod_payrc__sold{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3)}.ecod_payrc__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-1) var(--ecod-sp-5);margin:0;padding-top:var(--ecod-sp-2);border-top:1px dashed var(--ecod-border)}.ecod_payrc__meta div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ecod-sp-2)}.ecod_payrc__meta dt{font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-3);flex:none}.ecod_payrc__meta dd{margin:0;font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(prefers-reduced-motion:reduce){.ecod_payrc__buy,.ecod_payc__go{transition-duration:0s}}html[data-theme=dark] .ecod_payrc__flag{background:#3d3116;color:#f7b64c}html[data-theme=dark] .ecod_payc__price b,html[data-theme=dark] .ecod_payrc__price b{color:var(--ecod-accent-text)}@media(max-width:680px){.ecod_payrc{flex-direction:column}.ecod_payrc__thumb{width:100%;min-height:150px;max-height:200px}.ecod_payrc__meta{grid-template-columns:1fr}.ecod_payc__acts .ecod_pay__btn{flex:1;justify-content:center}}}@layer components{.ecod_codeblock__copy.is-done{color:var(--ecod-success-ink);opacity:1}@media(hover:hover){.ecod_codeblock__copy.is-done:hover{color:var(--ecod-success-ink)}}.ecod_content mark{padding:1px 3px;border-radius:var(--ecod-radius-xs);background:#fff3bf;color:inherit}html[data-theme=dark] .ecod_content mark{background:#5c4d1c;color:#ffe9a0}.ecod_content kbd{font-family:var(--ecod-mono);font-size:.85em;padding:.1em .5em;border-radius:var(--ecod-radius-xs);border:1px solid var(--ecod-border);border-bottom-width:2px;background:var(--ecod-surface-2);color:var(--ecod-ink-2)}.ecod_content input[type=checkbox]{width:15px;height:15px;margin:0 6px 0 0;vertical-align:-2px;accent-color:var(--ecod-primary-text)}.ecod_content li:has(>input[type=checkbox]:first-child){list-style:none;margin-left:-1.4em}.ecod_codeblock.is-folded{position:relative}.ecod_codeblock.is-folded pre{max-height:var(--ecod-fold-h, 420px);overflow:hidden}.ecod_codeblock.is-folded:after{content:"";position:absolute;left:0;right:0;bottom:0;height:76px;background:linear-gradient(to top,var(--ecod-code-bg) 40%,transparent);pointer-events:none}.ecod_codeblock__expand{position:absolute;left:50%;bottom:14px;translate:-50% 0;z-index:2;padding:6px var(--ecod-sp-4);border:0;border-radius:var(--ecod-radius-full);font-size:var(--ecod-fs-xs);font-weight:600;cursor:pointer;background:var(--ecod-primary-btn);color:#fff;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--ecod-primary) 45%,transparent)}.ecod_codeblock.is-open pre{max-height:none;overflow-x:auto;padding-bottom:var(--ecod-sp-12)}.ecod_codeblock.is-open:after{display:none}.ecod_actsiderail{display:none}@media(min-width:1200px){.ecod_actsiderail{display:flex;flex-direction:column;align-items:center;gap:10px;position:fixed;top:50%;right:16px;transform:translateY(-50%);z-index:var(--ecod-z-toc)}.ecod_actsiderail.is-left{left:16px;right:auto}body.ecod-rail-left .ecod_floattoc.is-left,body.ecod-rail-right .ecod_floattoc.is-right{top:calc(50% - 180px)}}.ecod_actsiderail__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:52px;padding:9px 0;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);background:var(--ecod-surface);color:var(--ecod-text-2);font-size:var(--ecod-fs-2xs);line-height:1;text-decoration:none;box-shadow:var(--ecod-shadow);cursor:pointer;transition:color var(--ecod-dur) var(--ecod-ease),border-color var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}.ecod_actsiderail__btn .ecod_icon{flex:none}.ecod_actsiderail__btn span:not(.ecod-sr){font-variant-numeric:tabular-nums;opacity:.8}.ecod_actsiderail__btn span:empty{display:none}.ecod_actsiderail__btn:focus-visible{box-shadow:var(--ecod-ring-focus)}.ecod_actsiderail__btn.is-on,.ecod_actsiderail__btn.is-pop{color:var(--ecod-primary-text);border-color:var(--ecod-primary-text)}@media(hover:hover){.ecod_actsiderail__btn:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-text);box-shadow:var(--ecod-shadow-hover);transform:translateY(-2px)}}@media(min-width:1200px){.ecod_article__act.is-side-mode .ecod_article__actrow{display:none}}.ecod_content li::marker{color:var(--ecod-primary-text)}.ecod_content .footnotes{margin-top:var(--ecod-sp-7);padding-top:14px;border-top:1px solid var(--ecod-border);font-size:var(--ecod-fs-sm);color:var(--ecod-ink-3)}.ecod_content sup a{text-decoration:none}.ecod_content h2,.ecod_content h3{position:relative}.ecod_hanchor{position:absolute;right:-.2em;top:50%;translate:0 -50%;padding:2px 6px;color:var(--ecod-ink-3);font-weight:400;text-decoration:none;opacity:0;transition:opacity var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}.ecod_hanchor:focus-visible{opacity:1;box-shadow:var(--ecod-ring-focus);border-radius:var(--ecod-radius-xs)}@media(hover:hover){.ecod_content h2:hover .ecod_hanchor,.ecod_content h3:hover .ecod_hanchor{opacity:1}.ecod_hanchor:hover{color:var(--ecod-primary-text);opacity:1}}.ecod_likeburst{position:fixed;z-index:var(--ecod-z-topmost);width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--ecod-primary);pointer-events:none;opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2);transition:opacity var(--ecod-dur-slow) var(--ecod-ease),transform var(--ecod-dur-slow) var(--ecod-ease)}@starting-style{.ecod_likeburst{opacity:1;transform:translate(0) scale(1)}}.ecod_likeburst.is-alt{background:#f43f5e}}@layer components{.ecod_airel{margin-top:var(--ecod-sp-5)}.ecod_airel__hint{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);color:var(--ecod-ink-3);font-size:var(--ecod-fs-2xs)}.ecod_airel__list{display:grid;gap:var(--ecod-sp-2)}.ecod_airel__item{display:flex;align-items:center;gap:var(--ecod-sp-3);padding:10px var(--ecod-sp-3);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);text-decoration:none;color:inherit;transition:border-color .18s var(--ecod-ease),transform .18s var(--ecod-ease)}.ecod_airel__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.ecod_airel__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:var(--ecod-fs-sm);font-weight:600;line-height:1.5;color:var(--ecod-ink)}.ecod_airel__meta{display:flex;align-items:center;gap:10px;font-size:var(--ecod-fs-2xs);color:var(--ecod-ink-3)}.ecod_airel__meta>span{display:inline-flex;align-items:center;gap:3px}.ecod_airel__why{font-style:normal;padding:1px 7px;border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-2xs)}.ecod_airel__cover{width:64px;height:48px;flex:none;display:grid;place-items:center;border-radius:var(--ecod-radius-xs);background:var(--ecod-surface-2) center / cover no-repeat;background-image:var(--ecod-cover, none);color:var(--ecod-ink-3);font-weight:700;overflow:hidden}@media(hover:hover){.ecod_airel__item:hover{border-color:var(--ecod-primary-text);transform:translateY(-1px)}}@media(max-width:560px){.ecod_airel__cover{display:none}}}@layer components{.ecod_article.ecod_noteart{padding:var(--ecod-sp-4) 0 96px;overflow:visible;position:relative}.ecod_noteart__stage{width:100%}.ecod_noteart__gal{position:relative;margin:0 auto;max-width:calc(var(--ecod-note-w, 640px) + 36px)}.ecod_noteart__track{display:flex;gap:var(--ecod-sp-2);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:0 18px;scroll-padding-left:18px;outline:none}.ecod_noteart__track::-webkit-scrollbar{display:none}.ecod_noteart__track:focus-visible{box-shadow:var(--ecod-ring);border-radius:var(--ecod-radius)}.ecod_noteart__shot{position:relative;flex:0 0 100%;margin:0;aspect-ratio:var(--ecod-note-ratio, 3 / 4);border-radius:var(--ecod-radius);overflow:hidden;background:#10131a;scroll-snap-align:center;scroll-snap-stop:always}.ecod_noteart__shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ecod_noteart__zoom{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.ecod_noteart__zoom:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary);border-radius:var(--ecod-radius)}.ecod_noteart__num{position:absolute;right:10px;bottom:10px;padding:2px 9px;border-radius:var(--ecod-radius-full);background:#12161d8c;color:#fff;font-size:var(--ecod-fs-2xs);font-weight:600;line-height:1.6;backdrop-filter:blur(4px);pointer-events:none}.ecod_noteart__cap{position:absolute;left:0;right:0;bottom:0;padding:var(--ecod-sp-12) 16px 14px;color:#fff;font-size:var(--ecod-fs-lg);font-weight:700;line-height:1.35;letter-spacing:-.01em;text-shadow:0 1px 3px rgba(8,10,14,.45);background:linear-gradient(to top,rgba(8,10,14,.78),rgba(8,10,14,.34) 52%,transparent);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none}.ecod_noteart__more{position:absolute;right:10px;bottom:10px;padding:2px 9px;border-radius:var(--ecod-radius-full);background:#12161db8;color:#fff;font-size:var(--ecod-fs-2xs);font-weight:600;line-height:1.6;backdrop-filter:blur(4px);pointer-events:none}.ecod_noteart__shot.has-more .ecod_noteart__num{right:auto;left:10px}.ecod_noteart__dots{display:flex;gap:6px;justify-content:center;padding:var(--ecod-sp-3) 0 0}.ecod_noteart__dots button{width:6px;height:6px;padding:0;border:0;border-radius:var(--ecod-radius-full);background:var(--ecod-line-strong);transition:width var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease)}.ecod_noteart__dots button.is-on{width:16px;background:var(--ecod-primary)}.ecod_noteart__gal.is-empty{min-height:0}.ecod_noteart__grid{display:grid;grid-template-columns:repeat(var(--ecod-ng-cols, 3),minmax(0,1fr));gap:var(--ecod-sp-1);max-width:calc(var(--ecod-note-w, 640px) + 36px);margin:0 auto;border-radius:var(--ecod-radius);overflow:hidden}.ecod_noteart__cell{position:relative;margin:0;aspect-ratio:1 / 1;overflow:hidden;background:var(--ecod-surface-2)}.ecod_noteart__cell img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ecod_noteart__cell .ecod_noteart__zoom:active{background:#080a0e29}.ecod_noteart__cell .ecod_noteart__more{right:6px;bottom:6px}.ecod_noteart__panel{padding:0 18px}.ecod_noteart__panel .ecod_noteart__title{font-size:20px;line-height:1.45;font-weight:700;letter-spacing:-.01em;margin:6px 0 10px;color:var(--ecod-ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ecod_noteart__author{display:flex;align-items:center;gap:10px;padding:var(--ecod-sp-4) 0 2px}.ecod_noteart__ava{position:relative;width:40px;height:40px;flex:none;border-radius:var(--ecod-avatar-radius);overflow:hidden;display:grid;place-items:center;background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-weight:700;font-size:var(--ecod-fs-md)}.ecod_noteart__ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.ecod_noteart__ava i{font-style:normal}.ecod_noteart__who{flex:1;min-width:0;display:grid;gap:2px}.ecod_noteart__nm{display:flex;align-items:center;gap:6px;font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-ink)}.ecod_noteart__nm a{color:inherit}.ecod_noteart__nm em{font-style:normal;font-size:var(--ecod-fs-2xs);font-weight:600;padding:1px 7px;border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_noteart__meta{display:flex;align-items:center;gap:6px;font-size:var(--ecod-fs-xs);color:var(--ecod-ink-3)}.ecod_noteart__meta i{font-style:normal;opacity:.7}.ecod_noteart__panel .ecod_content.is-note{margin:var(--ecod-sp-3) 0 0;max-width:none}.ecod_noteart .ecod_content.is-note p{margin:0 0 1.05em}.ecod_noteart__panel .ecod_content.is-note img{display:block;width:100%;max-width:none;margin:var(--ecod-sp-4) 0;border-radius:var(--ecod-radius)}.ecod_noteart__panel .ecod_content.is-note p:has(>img){display:flow-root;margin:var(--ecod-sp-2) 0}.ecod_noteart .ecod_content.is-note h2{font-size:20px;line-height:1.5;margin:1.7em 0 .6em}.ecod_noteart .ecod_content.is-note h3{font-size:17px;margin:1.5em 0 .5em}.ecod_noteart .ecod_content.is-note blockquote{margin:1.2em 0;padding:2px 0 2px 14px;border-left:3px solid var(--ecod-primary-soft);color:var(--ecod-ink-2)}.ecod_noteart__tags{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2);padding-top:var(--ecod-sp-4)}.ecod_noteart__tags a,.ecod_noteart__tags span{display:inline-flex;align-items:center;height:26px;padding:0 11px;border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-xs);font-weight:500;transition:background var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_noteart__tags a:hover{background:var(--ecod-primary-btn);color:#fff}}.ecod_noteart__bar{position:fixed;left:0;right:0;bottom:calc(var(--ecod-note-bar-b, 0px) + env(safe-area-inset-bottom,0px));z-index:var(--ecod-z-float);display:flex;align-items:center;gap:10px;padding:var(--ecod-sp-2) 14px;background:color-mix(in srgb,var(--ecod-surface) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--ecod-line);pointer-events:auto}.ecod_noteart__bar-cmt{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:34px;padding:0 14px;border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-ink-3);font-size:var(--ecod-fs-sm);text-align:left}.ecod_noteart__bar-cmt span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_noteart__bar-cmt b{font-size:var(--ecod-fs-xs);color:var(--ecod-ink-2);font-weight:600}.ecod_noteart__bar-cmt.is-static{cursor:default}.ecod_noteart__bar-acts{display:flex;align-items:center;gap:var(--ecod-sp-1);flex:none}.ecod_noteart__bar-btn{display:flex;flex-direction:column;align-items:center;gap:1px;min-width:42px;padding:2px 6px;border:0;background:none;cursor:pointer;font-family:inherit;border-radius:var(--ecod-radius-sm);color:var(--ecod-ink-2);font-size:var(--ecod-fs-2xs);line-height:1.3;transition:color var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}.ecod_noteart__bar-btn b{font-weight:600;white-space:nowrap}.ecod_noteart__bar-ico{display:grid;place-items:center}.ecod_noteart__bar-btn:active{transform:scale(.92)}.ecod_noteart__bar-btn[data-ecod-act=like].is-on{color:var(--ecod-danger-text)}.ecod_noteart__bar-btn[data-ecod-act=fav].is-on{color:var(--ecod-accent-text)}.ecod_noteart__bar-btn.is-pop{transform:scale(1.18)}.ecod_article.ecod_noteart{padding-top:var(--ecod-sp-4);padding-bottom:96px;background:transparent;border-radius:0;box-shadow:none;border:0}.ecod_article.ecod_noteart .ecod_stack{margin-top:var(--ecod-sp-4);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden;padding:0 18px var(--ecod-sp-5)}.ecod_article.ecod_noteart .ecod_stack>.ecod_rel:first-child{border-top:0;padding-top:var(--ecod-sp-5)}.ecod_noteart__arrow{display:none}@media(min-width:901px){.ecod_article.ecod_noteart{padding:16px 0 var(--ecod-sp-12)}.ecod_article.ecod_noteart .ecod_stack{padding:0 var(--ecod-sp-8) var(--ecod-sp-6)}.ecod_noteart__stage{display:grid;grid-template-columns:minmax(0,1fr) 400px;max-width:1080px;margin:0 auto;height:min(calc(100vh - 150px),800px);min-height:540px;background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:16px;overflow:hidden;box-shadow:var(--ecod-shadow-sm)}.ecod_noteart__gal{max-width:none;margin:0;height:100%;min-width:0;background:#10131a}.ecod_noteart__track{height:100%;padding:0;gap:0}.ecod_noteart__shot{height:100%;aspect-ratio:auto;border-radius:0}.ecod_noteart__gal .ecod_noteart__grid{height:100%;max-width:none;margin:0;border-radius:0;grid-auto-rows:1fr}.ecod_noteart__gal .ecod_noteart__cell{aspect-ratio:auto}.ecod_noteart__gal .ecod_noteart__dots{position:absolute;left:0;right:0;bottom:14px;padding:0}.ecod_noteart__gal .ecod_noteart__dots button{background:#ffffff73}.ecod_noteart__gal .ecod_noteart__dots button.is-on{background:#fff}.ecod_noteart__arrow{display:grid;position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;padding:0;align-items:center;justify-content:center;border:0;border-radius:var(--ecod-radius-full);background:#ffffffeb;color:var(--ecod-ink-2);box-shadow:var(--ecod-shadow-sm);cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease),opacity var(--ecod-dur-fast) var(--ecod-ease)}.ecod_noteart__arrow[data-dir=prev]{left:14px}.ecod_noteart__arrow[data-dir=next]{right:14px}@media(hover:hover){.ecod_noteart__arrow:hover{background:#fff}}.ecod_noteart__arrow:disabled{opacity:.35;cursor:default}.ecod_noteart__panel{display:flex;flex-direction:column;min-width:0;padding:20px var(--ecod-sp-6) 0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}.ecod_noteart__panel>*{flex-shrink:0}.ecod_noteart__author{padding:0 0 var(--ecod-sp-3)}.ecod_noteart__panel .ecod_noteart__title{margin:var(--ecod-sp-1) 0 10px}.ecod_noteart__panel .ecod_content.is-note{font-size:15px}.ecod_noteart__panel .ecod_content.is-note img{width:100%;margin:var(--ecod-sp-4) 0;border-radius:var(--ecod-radius)}.ecod_noteart__date{display:flex;align-items:center;gap:6px;padding:10px 0 14px;color:var(--ecod-ink-3);font-size:var(--ecod-fs-xs)}.ecod_noteart__date i{font-style:normal;opacity:.7}.ecod_noteart__bar-acts{gap:var(--ecod-sp-2)}.ecod_noteart__bar-btn{width:38px;height:38px;min-width:0;padding:0;flex-direction:row;align-items:center;justify-content:center;border-radius:var(--ecod-radius-full);background:color-mix(in srgb,var(--ecod-ink) 7%,transparent);font-size:0;transition:color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}.ecod_noteart__bar-btn b{display:none}@media(hover:hover){.ecod_noteart__bar-btn:hover{background:color-mix(in srgb,var(--ecod-ink) 12%,transparent)}}.ecod_noteart__bar-btn[data-ecod-act=like].is-on{background:color-mix(in srgb,var(--ecod-danger) 12%,transparent)}.ecod_noteart__bar-btn[data-ecod-act=fav].is-on{background:color-mix(in srgb,var(--ecod-accent) 12%,transparent)}.ecod_noteart__bar{position:sticky;left:0;right:auto;bottom:0;margin:auto calc(-1 * var(--ecod-sp-6)) 0;padding:10px var(--ecod-sp-6) 12px;background:var(--ecod-surface);backdrop-filter:none;border-top:1px solid var(--ecod-line);border-bottom:0}}.ecod_noteart__bar.is-viewport{position:fixed;top:auto;bottom:0;margin:0}.ecod_notemodal{position:fixed;inset:0;z-index:var(--ecod-z-dialog);display:grid;place-items:center;padding:var(--ecod-sp-7);background:#0a0c10d1;transition:opacity .22s var(--ecod-ease)}@starting-style{.ecod_notemodal{opacity:0}}.ecod_notemodal__box{position:relative;width:min(1080px,100%);height:min(calc(100vh - 120px),860px)}.ecod_notemodal .ecod_noteart__stage{width:100%;height:100%;border:0;box-shadow:var(--ecod-shadow-lg)}.ecod_notemodal__close{position:absolute;top:-50px;right:-6px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--ecod-radius-full);background:#ffffff24;color:#fff;font-size:20px;cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_notemodal__close:hover{background:#ffffff42}}html.ecod-notemodal-lock{overflow:hidden}@media(prefers-reduced-motion:reduce){.ecod_notemodal{transition:none}}@media(max-width:680px){.ecod_noteart__gal{margin-left:-2px;margin-right:-2px}}}@layer components{.ecod_notebox{position:fixed;inset:0;z-index:var(--ecod-z-topmost);display:grid;grid-template-rows:auto 1fr auto;background:#0a0c11f0;opacity:0;transition:opacity var(--ecod-dur) var(--ecod-ease)}.ecod_notebox.is-on{opacity:1}.ecod_notebox__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-3);padding:var(--ecod-sp-3) var(--ecod-sp-4);color:#fffc;font-size:var(--ecod-fs-sm)}.ecod_notebox__bar b{font-weight:600;color:#fff}.ecod_notebox__close{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#ffffff1f;color:#fff}.ecod_notebox__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 16px var(--ecod-sp-6)}.ecod_notebox__stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--ecod-radius-sm);user-select:none}.ecod_notebox__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:#ffffff24;color:#fff;font-size:18px;line-height:1}.ecod_notebox__nav[data-dir=prev]{left:12px}.ecod_notebox__nav[data-dir=next]{right:12px}.ecod_notebox__nav[disabled]{opacity:.3;pointer-events:none}.ecod_notebox__dots{display:flex;gap:6px;justify-content:center;padding:0 0 18px}.ecod_notebox__dots i{width:6px;height:6px;border-radius:50%;background:#ffffff4d}.ecod_notebox__dots i.is-on{width:16px;border-radius:3px;background:#fff}html.ecod-notebox-lock{overflow:hidden}@media(max-width:900px){body:has(.ecod_noteart__bar) .ecod_totop{bottom:calc(var(--ecod-note-bar-b, 0px) + 76px + env(safe-area-inset-bottom,0px))}}}@layer components{.ecod_faq{margin:1.25em 0}.ecod_faq__title,.ecod_howto__title{margin:0 0 10px;font-size:var(--ecod-fs-lg);font-weight:700;color:var(--ecod-text)}.ecod_faq__item{border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);overflow:hidden}.ecod_faq__item+.ecod_faq__item{margin-top:var(--ecod-sp-2)}.ecod_faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text);cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_faq__q::-webkit-details-marker{display:none}.ecod_faq__chev{display:inline-flex;flex:none;color:var(--ecod-text-3);transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_faq__item[open] .ecod_faq__chev{transform:rotate(90deg)}.ecod_faq__a{padding:2px var(--ecod-sp-4) 14px;font-size:var(--ecod-fs-md);line-height:22px;color:var(--ecod-text-2);border-top:1px solid var(--ecod-border)}.ecod_faq__a>:first-child{margin-top:var(--ecod-sp-2)}.ecod_faq__a>:last-child{margin-bottom:0}@media(hover:hover){.ecod_faq__q:hover{background:var(--ecod-surface-2)}}.ecod_howto{margin:1.25em 0;padding:var(--ecod-sp-4) 18px;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface)}.ecod_howto__intro{margin:2px 0 10px;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ecod_howto__steps{margin:0;padding:0;list-style:none;counter-reset:ecod-howto}.ecod_howto__step{counter-increment:ecod-howto;position:relative;padding:9px 0 9px 36px;font-size:var(--ecod-fs-md);line-height:22px;color:var(--ecod-text-2)}.ecod_howto__step+.ecod_howto__step{border-top:1px dashed var(--ecod-border)}.ecod_howto__step:before{content:counter(ecod-howto);position:absolute;left:0;top:11px;width:21px;height:21px;border-radius:50%;background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:12px;font-weight:700;line-height:21px;text-align:center}.ecod_howto__step>:first-child{margin-top:0}.ecod_howto__step>:last-child{margin-bottom:0}}@layer components{.ecod_cmt__ops{display:inline-flex;gap:4px;margin-left:0;vertical-align:middle}.ecod_cmt__op{display:inline-flex;align-items:center;gap:3px;border:0;background:none;padding:4px 8px;font-size:12px;color:var(--ecod-ink-3,#8a8f98);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ecod_cmt__op[hidden]{display:none}.ecod_cmt__op .ecod_icon,.ecod_cmt__repbtn .ecod_icon,.ecod_cmt__act a .ecod_icon{width:12px;height:12px;vertical-align:-.15em}.ecod_cmt__op:hover{color:var(--ecod-ink,#22252a);background:var(--ecod-primary-soft,#f2f4f7)}.ecod_cmt__op--save{color:var(--ecod-primary-text,#1d4ed8);font-weight:600}@media(hover:hover){.ecod_cmt__op:hover{color:var(--ecod-ink,#22252a);background:var(--ecod-primary-soft,#f2f4f7)}}.ecod_cmt__rep{display:inline-block;position:relative}.ecod_cmt__repbtn{display:inline-flex;align-items:center;gap:3px;list-style:none;cursor:pointer;font-size:12px;color:var(--ecod-ink-3,#8a8f98);padding:4px 8px;border-radius:8px}.ecod_cmt__repbtn::-webkit-details-marker{display:none}@media(hover:hover){.ecod_cmt__repbtn:hover{color:var(--ecod-ink,#22252a)}}.ecod_cmt__reppanel{display:inline-flex;gap:4px;align-items:center;margin-left:var(--ecod-sp-1,4px);vertical-align:middle}.ecod_cmt__repopt{border:1px solid var(--ecod-line,#e5e7eb);background:none;padding:4px 12px;font-size:12px;color:var(--ecod-ink-2,#5b6472);border-radius:999px;cursor:pointer}.ecod_cmt__repopt.is-on{border-color:var(--ecod-primary,#3b82f6);color:var(--ecod-primary-text,#1d4ed8);background:var(--ecod-primary-soft,#f2f4f7)}.ecod_cmt__repsend{border:0;background:var(--ecod-primary,#3b82f6);color:#fff;padding:4px 12px;font-size:12px;font-weight:600;border-radius:999px;cursor:pointer}.ecod_cmt__repsend:disabled{opacity:.55;cursor:default}.ecod_cmt__op--del:hover{color:var(--ecod-primary-deep,#c2402f)}@media(hover:hover){.ecod_cmt__op--del:hover{color:var(--ecod-primary-deep,#c2402f)}}.ecod_cmt__op--ok:hover{color:var(--ecod-primary-text,#1d8a4e)}@media(hover:hover){.ecod_cmt__op--ok:hover{color:var(--ecod-primary-text,#1d8a4e)}}.ecod_cmtwait{margin:0 0 12px;border:1px dashed var(--ecod-line-strong,#e5c26a);border-radius:12px;overflow:hidden}.ecod_cmtwait__head{padding:8px 12px;font-size:12.5px;font-weight:600;color:var(--ecod-ink-2,#8a6a1f);background:var(--ecod-primary-soft,#fdf6e3)}.ecod_cmtwait__item{padding:8px 12px;border-top:1px dashed var(--ecod-line-strong,#e5c26a)}.ecod_cmtwait__meta{display:flex;gap:8px;align-items:baseline;font-size:12.5px}.ecod_cmtwait__meta time{color:var(--ecod-ink-3,#8a8f98);font-size:11.5px}.ecod_cmtwait__text{font-size:13px;line-height:1.7;color:var(--ecod-ink-2,#3d4148);margin:4px 0 8px}.ecod_cmtwait__ops{display:flex;gap:4px}.ecod_quickreply{display:flex;gap:4px;overflow-x:auto;padding:0 0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.ecod_quickreply::-webkit-scrollbar{display:none}.ecod_quickreply__chip{flex:none;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--ecod-line,#e8eaee);background:var(--ecod-ink,#fff);color:var(--ecod-ink-2,#565b64);font-size:12.5px;padding:4px 12px;border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent}.ecod_quickreply__chip:hover{border-color:var(--ecod-primary,#4f6ef2);color:var(--ecod-primary,#4f6ef2)}@media(hover:hover){.ecod_quickreply__chip:hover{border-color:var(--ecod-primary,#4f6ef2);color:var(--ecod-primary,#4f6ef2)}}}
