@layer tokens,base,components,utilities;@layer components{.ecod_pagehero{position:relative;margin-top:var(--ecod-sp-4);padding:var(--ecod-sp-7) var(--ecod-sp-7) var(--ecod-sp-6);border-radius:var(--ecod-radius);isolation:isolate;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--ecod-primary) 6%,transparent) 0,color-mix(in srgb,var(--ecod-primary) 6%,transparent) 1px,transparent 1px,transparent 44px),repeating-linear-gradient(0deg,color-mix(in srgb,var(--ecod-primary) 6%,transparent) 0,color-mix(in srgb,var(--ecod-primary) 6%,transparent) 1px,transparent 1px,transparent 44px),linear-gradient(135deg,color-mix(in srgb,var(--ecod-primary) 8%,var(--ecod-surface)),color-mix(in srgb,var(--ecod-primary) 4%,var(--ecod-surface)) 55%,var(--ecod-surface));border:1px solid var(--ecod-border);overflow:hidden}.ecod_pagehero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(46% 92% at 86% -4%,color-mix(in srgb,var(--ecod-primary) 16%,transparent),transparent 70%),radial-gradient(38% 72% at -4% 104%,color-mix(in srgb,var(--ecod-primary) 10%,transparent),transparent 72%),conic-gradient(from 210deg at 72% 10%,transparent 0deg,color-mix(in srgb,var(--ecod-primary) 8%,transparent) 46deg,transparent 110deg)}.ecod_pagehero__tag{display:inline-block;font-size:var(--ecod-fs-2xs);letter-spacing:2px;color:var(--ecod-primary-text);background:var(--ecod-surface);border-radius:var(--ecod-radius-full);padding:2px var(--ecod-sp-2)}.ecod_pagehero__title{font-size:var(--ecod-fs-4xl);margin:var(--ecod-sp-3) 0 var(--ecod-sp-1);letter-spacing:-.3px}.ecod_pagehero__desc{margin:0;font-size:var(--ecod-fs-md);color:var(--ecod-text-2);max-width:620px}.ecod_pagehero__meta{display:flex;align-items:center;gap:var(--ecod-sp-3);flex-wrap:wrap;margin-top:var(--ecod-sp-3);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_pagehero__meta span{display:inline-flex;align-items:center;gap:var(--ecod-sp-1)}.ecod_pagehero__apply{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;background:none;font-family:inherit;font-size:inherit;line-height:inherit;color:var(--ecod-primary-text);cursor:pointer;transition:opacity var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_pagehero__apply:hover{opacity:.75}}.ecod_leave__tips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecod-sp-3);margin:var(--ecod-sp-4) 0}.ecod_tipcard{padding:var(--ecod-sp-3) var(--ecod-sp-4);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);transition:border-color var(--ecod-dur) var(--ecod-ease),box-shadow var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_tipcard:hover{border-color:var(--ecod-primary-line-2);box-shadow:var(--ecod-shadow)}}.ecod_tipcard__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);margin-bottom:var(--ecod-sp-2)}.ecod_tipcard strong{display:block;font-size:var(--ecod-fs-sm)}.ecod_tipcard p{margin:3px 0 0;font-size:var(--ecod-fs-xs);line-height:1.6;color:var(--ecod-text-3)}.ecod_leave__intro{padding:var(--ecod-sp-6) var(--ecod-sp-7);margin-bottom:var(--ecod-sp-4)}.ecod_leave__intro .ecod_content>:last-child{margin-bottom:0}.ecod_friendgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecod-sp-5) var(--ecod-sp-5);margin:var(--ecod-sp-4) 0}.ecod_friend{display:flex;flex-direction:column;gap:var(--ecod-sp-3);min-width:0;padding:var(--ecod-sp-4);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);transition:opacity var(--ecod-dur-slow) var(--ecod-ease),filter var(--ecod-dur-slow) var(--ecod-ease),transform var(--ecod-dur-slow) var(--ecod-ease),box-shadow var(--ecod-dur-slow) var(--ecod-ease)}@media(hover:hover){.ecod_friend:hover{transform:translateY(-2px);box-shadow:var(--ecod-shadow-hover)}.ecod_friend:hover .ecod_friend__name{color:var(--ecod-primary-text)}}.ecod_friend__top{display:flex;align-items:center;gap:var(--ecod-sp-3);min-width:0}.ecod_friend__avatar{position:relative;flex-shrink:0;width:56px;height:56px;border-radius:var(--ecod-avatar-radius);display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--ecod-fs-xl);font-weight:600;overflow:hidden}.ecod_friend__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ecod_friend__info{min-width:0;flex:1;display:flex;flex-direction:column;gap:var(--ecod-sp-1)}.ecod_friend__name{font-size:var(--ecod-fs-xl);font-weight:600;color:var(--ecod-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color var(--ecod-dur) var(--ecod-ease)}.ecod_friend__desc{font-size:var(--ecod-fs-md);color:var(--ecod-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_friend__latest{display:flex;align-items:center;gap:var(--ecod-sp-2);min-width:0;min-height:40px;margin-top:auto;padding:var(--ecod-sp-2) var(--ecod-sp-3);border-radius:calc(var(--ecod-radius) - 3px);background:color-mix(in srgb,var(--ecod-ink) 4.5%,var(--ecod-surface));color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);line-height:1.5}.ecod_friend__latest .ecod_icon{flex-shrink:0;color:var(--ecod-text-3)}.ecod_friend__host{font-size:var(--ecod-fs-xs);font-family:var(--ecod-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[data-anim=fade] .ecod_friendgrid>.ecod_friend.ecod-reveal,html[data-anim=up] .ecod_friendgrid>.ecod_friend.ecod-reveal{transform:none;filter:blur(2px);transition:opacity var(--ecod-dur-slow) var(--ecod-ease),filter var(--ecod-dur-slow) var(--ecod-ease),translate var(--ecod-dur-slow) var(--ecod-ease),transform var(--ecod-dur-slow) var(--ecod-ease),box-shadow var(--ecod-dur-slow) var(--ecod-ease)}html[data-anim=up] .ecod_friendgrid>.ecod_friend.ecod-reveal{translate:0 30px}html[data-anim=fade] .ecod_friendgrid>.ecod_friend.ecod-reveal.is-in,html[data-anim=up] .ecod_friendgrid>.ecod_friend.ecod-reveal.is-in{opacity:1;translate:none;filter:none}@media(prefers-reduced-motion:reduce){html[data-anim] .ecod_friendgrid>.ecod_friend.ecod-reveal{opacity:1;translate:none;filter:none;transition:none}.ecod_friend{transition:none}@media(hover:hover){.ecod_friend:hover{transform:none;box-shadow:none}}}@media(max-width:680px){.ecod_friendgrid{gap:var(--ecod-sp-4) var(--ecod-sp-3)}.ecod_friend{padding:var(--ecod-sp-4)}.ecod_friend__top{gap:var(--ecod-sp-3)}.ecod_friend__avatar{width:48px;height:48px;font-size:var(--ecod-fs-lg)}.ecod_friend__name{font-size:var(--ecod-fs-lg)}.ecod_friend__desc{font-size:var(--ecod-fs-sm)}.ecod_friend__latest{min-height:36px;padding:var(--ecod-sp-2) var(--ecod-sp-3);font-size:var(--ecod-fs-xs)}}@media(max-width:560px){.ecod_friendgrid{grid-template-columns:minmax(0,1fr)}}.ecod_apply{margin-top:var(--ecod-sp-4);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden}.ecod_apply__head{padding:var(--ecod-sp-4) var(--ecod-sp-5);background:var(--ecod-surface-2);border-bottom:1px solid var(--ecod-border)}.ecod_apply__head h2{display:flex;align-items:center;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-md)}.ecod_apply__head h2 .ecod_icon{color:var(--ecod-primary-text)}.ecod_apply__head p{margin:var(--ecod-sp-1) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_apply__body{padding:var(--ecod-sp-4) var(--ecod-sp-5);font-size:var(--ecod-fs-md);line-height:1.85;color:var(--ecod-text-2)}.ecod_apply__body>:last-child{margin-bottom:0}.ecod_apply__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-3);flex-wrap:wrap}.ecod_apply__htext{min-width:0}.ecod_apply__btn{flex-shrink:0;height:32px;padding:0 var(--ecod-sp-3)}.ecod_review__num{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 var(--ecod-sp-1);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-btn);color:#fff;font-size:var(--ecod-fs-2xs);font-weight:600}.ecod_review__list{margin:0;padding:var(--ecod-sp-2);list-style:none;display:grid;gap:var(--ecod-sp-1)}.ecod_review__item{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-3);border-radius:var(--ecod-radius);background:var(--ecod-surface-2)}.ecod_review__avatar{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0;overflow:hidden;border-radius:var(--ecod-avatar-radius);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-sm);font-weight:600}.ecod_review__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ecod_review__main{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.ecod_review__main strong{font-size:var(--ecod-fs-md);color:var(--ecod-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_review__main a{font-size:var(--ecod-fs-xs);color:var(--ecod-primary-text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){.ecod_review__main a:hover{text-decoration:underline}}.ecod_review__main em{font-style:normal;font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_review__meta{font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_review__ops{display:flex;gap:var(--ecod-sp-1);flex-shrink:0;align-self:center}.ecod_review__ops .ecod-btn{height:28px;padding:0 var(--ecod-sp-3);font-size:var(--ecod-fs-xs)}.ecod_review__item.is-done{opacity:.45}.ecod_review__item.is-done .ecod_review__ops{visibility:hidden}.ecod_fmodal__form .ecod_login__capimg{height:38px;object-fit:fill}.ecod_fmodal__form .ecod_login__field input{height:38px}.ecod_cmodal__panel{display:grid;gap:var(--ecod-sp-3);max-width:360px;padding:var(--ecod-sp-5)}.ecod_cmodal__stage{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:var(--ecod-radius);background:var(--ecod-bg);cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}.ecod_cmodal__stage.is-dragging{cursor:grabbing}.ecod_cmodal__stage img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:50% 50%;pointer-events:none;-webkit-user-drag:none}.ecod_cmodal__ring{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 9999px #0f121a73;outline:1px solid rgba(255,255,255,.6);outline-offset:-1px;pointer-events:none}.ecod_cmodal__zoom{width:100%;accent-color:var(--ecod-primary-text);cursor:pointer}.ecod_cmodal__ops{display:flex;gap:var(--ecod-sp-2);justify-content:flex-end}.ecod_cmodal__ops .ecod-btn{height:38px;padding:0 var(--ecod-sp-4)}@media(max-width:560px){.ecod_cmodal__panel{padding:var(--ecod-sp-4)}.ecod_review__item{flex-wrap:wrap}.ecod_review__ops{width:100%;justify-content:flex-end}}.ecod_videogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ecod-sp-4);margin:var(--ecod-sp-4) 0}.ecod_video{margin:0;background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden}.ecod_video__frame{position:relative;aspect-ratio:16 / 9;background:#0d1119}.ecod_video__frame iframe,.ecod_video__frame video{display:block;width:100%;height:100%;border:0}.ecod_video__cap{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-3);font-size:var(--ecod-fs-sm)}.ecod_video__no{font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_video__title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ecod-text)}.ecod_wallgrid{columns:3;column-gap:var(--ecod-sp-3);margin:var(--ecod-sp-4) 0}.ecod_wall{break-inside:avoid;margin:0 0 var(--ecod-sp-3);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden;transition:box-shadow var(--ecod-dur) var(--ecod-ease),border-color var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_wall:hover{box-shadow:var(--ecod-shadow-hover);border-color:var(--ecod-primary-line-2)}}.ecod_wall__open{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;overflow:hidden}.ecod_wall__open img{width:100%;height:auto;transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_wall__open img:not([height]):not(.is-loaded){min-height:200px}@media(hover:hover){.ecod_wall:hover .ecod_wall__open img{transform:scale(1.04)}}.ecod_wall__cap{display:flex;align-items:center;justify-content:space-between;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-sp-3);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_wall__cap span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_wall__dl{display:inline-flex;padding:3px;border-radius:var(--ecod-radius-sm);color:var(--ecod-text-3);transition:color var(--ecod-dur) var(--ecod-ease),background var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_wall__dl:hover{color:var(--ecod-primary-text);background:var(--ecod-primary-soft)}}.ecod_livestage{margin:var(--ecod-sp-4) 0;border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden;background:var(--ecod-surface)}.ecod_livestage__frame{position:relative;aspect-ratio:16 / 9;background:#0b0e16}.ecod_livestage__frame iframe,.ecod_livestage__frame video{display:block;width:100%;height:100%;border:0}.ecod_livestage__bar{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);font-size:var(--ecod-fs-sm)}.ecod_livestage__dot{width:7px;height:7px;border-radius:50%;background:var(--ecod-danger);box-shadow:0 0 0 3px #ef444429;animation:ecod-pulse 1.8s ease-in-out infinite}@keyframes ecod-pulse{50%{opacity:.3}}.ecod_livestage__hint{margin-left:auto;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_live__status{color:var(--ecod-danger-text)}.ecod_replay{display:grid}.ecod_replay__item{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-1);border-bottom:1px dashed var(--ecod-border);font-size:var(--ecod-fs-sm)}.ecod_replay__item:last-child{border-bottom:0}.ecod_replay__no{font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_replay__title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ecod-text)}@media(hover:hover){.ecod_replay__item:hover .ecod_replay__title{color:var(--ecod-primary-text)}}.ecod_replay__go{color:var(--ecod-text-3)}.ecod_statgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--ecod-sp-2);margin:var(--ecod-sp-4) 0}.ecod_stat{padding:var(--ecod-sp-3) var(--ecod-sp-4);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius)}.ecod_stat__icon{display:inline-flex;color:var(--ecod-primary-text)}.ecod_stat__num{display:block;margin-top:var(--ecod-sp-1);font-size:var(--ecod-fs-3xl);font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.ecod_stat__label{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_stat__label i{font-style:normal;margin-left:2px}.ecod_stat2col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ecod-sp-4);margin-bottom:var(--ecod-sp-4)}.ecod_panel{padding:var(--ecod-sp-4) var(--ecod-sp-5);background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius)}.ecod_panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-3)}.ecod_panel__head h2{display:flex;align-items:center;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-md)}.ecod_panel__head h2 .ecod_icon{color:var(--ecod-primary-text)}.ecod_panel__head span{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_panel__empty{margin:0;padding:var(--ecod-sp-2) 0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ecod_bars{list-style:none;display:grid;gap:var(--ecod-sp-3)}.ecod_bars li{display:grid;grid-template-columns:74px minmax(0,1fr) 30px;align-items:center;gap:var(--ecod-sp-2);font-size:var(--ecod-fs-xs)}.ecod_bars__name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ecod-text-2)}.ecod_bars__track{height:6px;border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);overflow:hidden}.ecod_bars__track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ecod-primary),#8b7bf0)}.ecod_bars__num{text-align:right;font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_cols{display:flex;align-items:flex-end;gap:var(--ecod-sp-2);height:148px;padding-top:var(--ecod-sp-2)}.ecod_cols__item{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:var(--ecod-sp-1)}.ecod_cols__num{font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_cols__bar{width:100%;max-width:26px;border-radius:var(--ecod-radius-xs) var(--ecod-radius-xs) 2px 2px;background:linear-gradient(180deg,#8b7bf0,var(--ecod-primary));min-height:4px;transition:height var(--ecod-dur-slow) var(--ecod-ease)}.ecod_cols__label{font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_rlist{list-style:none;display:grid;gap:var(--ecod-sp-3)}.ecod_rlist li{display:flex;gap:var(--ecod-sp-2)}.ecod_rlist__avatar img{width:30px;height:30px;border-radius:var(--ecod-avatar-radius)}.ecod_rlist li>div{min-width:0}.ecod_rlist__title{display:block;font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ecod_rlist__title i{font-style:normal;font-weight:400;color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs)}.ecod_rlist p{margin:2px 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ecod_tagcloud{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2)}.ecod_tagcloud__item{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:var(--ecod-sp-1) var(--ecod-sp-3);font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);background:var(--ecod-surface-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full);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)}.ecod_tagcloud__item i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}@media(hover:hover){.ecod_tagcloud__item:hover{color:var(--ecod-primary-text);border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}}@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 utilities{html[data-theme=dark] .ecod_pagehero{background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 44px),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 1px,transparent 1px,transparent 44px),linear-gradient(135deg,color-mix(in srgb,var(--ecod-primary) 9%,var(--ecod-surface)),color-mix(in srgb,var(--ecod-primary) 4%,var(--ecod-surface)) 55%,var(--ecod-surface));border-color:var(--ecod-border)}html[data-theme=dark] .ecod_pagehero__tag{background:#ffffff12;color:var(--ecod-primary-text)}html[data-theme=dark] .ecod_tipcard__icon{background:color-mix(in srgb,var(--ecod-primary) 16%,transparent)}html[data-theme=dark] .ecod_friend__avatar{filter:saturate(.9) brightness(.92)}html[data-theme=dark] .ecod_video__frame,html[data-theme=dark] .ecod_livestage__frame{background:#05070c}html[data-theme=dark] .ecod_stat__num{color:#f0f3fa}html[data-theme=dark] .ecod_bars__track{background:#232838}html[data-theme=dark] .ecod_cols__bar{background:linear-gradient(180deg,color-mix(in srgb,var(--ecod-primary) 80%,#fff),var(--ecod-primary))}html[data-theme=dark] .ecod_tagcloud__item{background:#1b2030}html[data-theme=dark] .ecod_rlist__avatar img{border:1px solid var(--ecod-border)}}@layer utilities{@media(max-width:1100px){.ecod_statgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.ecod_wallgrid{columns:2}}@media(max-width:900px){.ecod_leave__tips,.ecod_stat2col,.ecod_videogrid{grid-template-columns:minmax(0,1fr)}}@media(max-width:680px){.ecod_pagehero{padding:var(--ecod-sp-5) var(--ecod-sp-4) var(--ecod-sp-5);border-radius:var(--ecod-radius)}.ecod_pagehero__title{font-size:var(--ecod-fs-2xl)}.ecod_pagehero__desc{font-size:var(--ecod-fs-sm)}.ecod_statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.ecod_stat__num{font-size:var(--ecod-fs-xl)}.ecod_wallgrid{columns:1}.ecod_bars li{grid-template-columns:60px minmax(0,1fr) 26px}.ecod_cols{height:120px;gap:var(--ecod-sp-1)}.ecod_cols__label{font-size:var(--ecod-fs-2xs)}.ecod_panel,.ecod_leave__intro{padding:var(--ecod-sp-4) var(--ecod-sp-4)}}}@layer components{.ecod_arch{display:grid;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-4)}.ecod_arch__year{background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);overflow:hidden}.ecod_arch__year>summary{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-5);cursor:pointer;list-style:none;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_arch__year>summary::-webkit-details-marker{display:none}@media(hover:hover){.ecod_arch__year>summary:hover{background:var(--ecod-surface-2)}}.ecod_arch__year>summary:focus-visible{box-shadow:inset 0 0 0 2px var(--ecod-primary)}.ecod_arch__year b{font-size:var(--ecod-fs-2xl);font-weight:700;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.ecod_arch__num{padding:1px var(--ecod-sp-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);background:var(--ecod-surface-2);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius-full)}.ecod_arch__chev{margin-left:auto;display:inline-flex;color:var(--ecod-text-3);transition:transform var(--ecod-dur) var(--ecod-ease)}.ecod_arch__year[open] .ecod_arch__chev{transform:rotate(90deg)}.ecod_arch__body{padding:var(--ecod-sp-1) var(--ecod-sp-5) var(--ecod-sp-4);border-top:1px solid var(--ecod-border)}.ecod_arch__month+.ecod_arch__month{margin-top:var(--ecod-sp-4)}.ecod_arch__month h3{display:flex;align-items:center;gap:var(--ecod-sp-2);margin:var(--ecod-sp-3) 0 var(--ecod-sp-1);font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text-2)}.ecod_arch__month h3 span{position:relative;padding-left:var(--ecod-sp-2)}.ecod_arch__month h3 span:before{content:"";position:absolute;left:0;top:50%;width:3px;height:11px;margin-top:-5.5px;border-radius:var(--ecod-radius-xs);background:var(--ecod-primary)}.ecod_arch__month h3 em{font-style:normal;font-weight:400;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_arch__list{list-style:none;display:grid;gap:1px;grid-template-columns:minmax(0,1fr)}.ecod_arch__item{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-1) var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);font-size:var(--ecod-fs-md);transition:background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_arch__item:hover{background:var(--ecod-primary-soft)}}.ecod_arch__item time{flex:none;font-family:var(--ecod-mono);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}.ecod_arch__item a{flex:1;min-width:0;color:var(--ecod-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(hover:hover){.ecod_arch__item:hover a{color:var(--ecod-primary-text)}}.ecod_arch__cmt{flex:none;display:inline-flex;align-items:center;gap:3px;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}}@layer components{.ecod_wl{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ecod-gap);align-items:start}.ecod_wl__main,.ecod_wl__card{background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);padding:var(--ecod-card-pad)}.ecod_wl__list{list-style:none;margin:0;padding:0}.ecod_wl__row{display:grid;grid-template-columns:52px 44px minmax(0,1fr) auto;align-items:center;gap:var(--ecod-sp-3);padding:10px var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);color:inherit;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_wl__list>li+li .ecod_wl__row{border-top:1px solid var(--ecod-line)}@media(hover:hover){.ecod_wl__row:hover{background:var(--ecod-surface-2)}}.ecod_wl__no{font:600 var(--ecod-fs-sm)/1 var(--ecod-mono);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}.ecod_wl__row.is-gold .ecod_wl__no{color:#c98f13}.ecod_wl__row.is-silver .ecod_wl__no{color:#7b8698}.ecod_wl__row.is-bronze .ecod_wl__no{color:#b3713f}.ecod_wl__row.is-gold .ecod_wl__av{box-shadow:0 0 0 2px var(--ecod-ring-gold)}.ecod_wl__row.is-silver .ecod_wl__av{box-shadow:0 0 0 2px var(--ecod-ring-silver)}.ecod_wl__row.is-bronze .ecod_wl__av{box-shadow:0 0 0 2px var(--ecod-ring-bronze)}.ecod_wl__av{width:44px;height:44px;border-radius:var(--ecod-avatar-radius);object-fit:cover;display:grid;place-items:center;flex:none;background:var(--ecod-surface-2)}.ecod_wl__av--text{background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-weight:700;font-size:var(--ecod-fs-md)}.ecod_wl__who{min-width:0;display:flex;flex-direction:column;gap:2px}.ecod_wl__name{font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_wl__intro{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_wl__num{font:700 var(--ecod-fs-md)/1 var(--ecod-mono);color:var(--ecod-primary-text);font-variant-numeric:tabular-nums;white-space:nowrap}.ecod_wl__mine{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-3);padding:12px var(--ecod-sp-4);border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-sm)}.ecod_wl__mine.is-onlist{background:var(--ecod-primary-soft)}.ecod_wl__mine-lab{color:var(--ecod-text-2)}.ecod_wl__mine b{font:800 var(--ecod-fs-md)/1 var(--ecod-mono)}.ecod_wl__mine-num{color:var(--ecod-text-2);font-variant-numeric:tabular-nums}.ecod_wl__mine em{font-style:normal;color:var(--ecod-text-3);font-size:var(--ecod-fs-xs)}.ecod_wl__mine-go{margin-left:auto;display:inline-flex;align-items:center;gap:2px;font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-primary-text)}.ecod_wl__card+.ecod_wl__card{margin-top:var(--ecod-sp-3)}.ecod_wl__cardhd{margin:0 0 var(--ecod-sp-3);font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-ink)}.ecod_wl__rules{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--ecod-sp-2)}.ecod_wl__rules li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:var(--ecod-sp-2);padding:8px var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ecod_wl__ruleico{display:inline-flex;color:var(--ecod-primary-text)}.ecod_wl__rulelab{font-size:var(--ecod-fs-sm);color:var(--ecod-ink-2)}.ecod_wl__rules b{font-size:var(--ecod-fs-sm);font-weight:700;color:var(--ecod-primary-text);font-variant-numeric:tabular-nums}.ecod_wl__rules em{grid-column:2 / -1;font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ecod_wl__spend{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-3);padding-top:var(--ecod-sp-3);border-top:1px solid var(--ecod-line)}.ecod_wl__spend a{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:5px 10px;border-radius:var(--ecod-radius-full);border:1px solid var(--ecod-primary-line-2);font-size:var(--ecod-fs-xs);color:var(--ecod-primary-text)}@media(hover:hover){.ecod_wl__spend a:hover{background:var(--ecod-primary-soft)}}.ecod_wl__tiers{display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-2)}.ecod_wl__tier{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border-radius:var(--ecod-radius-sm);border:1px solid var(--ecod-line-2);background:var(--ecod-surface);cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_wl__tier b{font-size:var(--ecod-fs-md);font-weight:700;color:var(--ecod-ink)}.ecod_wl__tier span{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}@media(hover:hover){.ecod_wl__tier:hover{border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}.ecod_wl__tier[disabled]{opacity:.55;cursor:default}.ecod_wl__buynote{margin:var(--ecod-sp-3) 0 0;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);line-height:1.8}.ecod_wl__buynote strong{color:var(--ecod-text-2);font-weight:600}.ecod_wl__buymsg{margin:6px 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_wl__buymsg.is-bad{color:var(--ecod-danger-text)}html[data-theme=dark] .ecod_wl__row.is-gold .ecod_wl__no{color:#f0c457}html[data-theme=dark] .ecod_wl__row.is-silver .ecod_wl__no{color:#b9c2d1}html[data-theme=dark] .ecod_wl__row.is-bronze .ecod_wl__no{color:#d19a70}@media(max-width:1100px){.ecod_wl{grid-template-columns:minmax(0,1fr)}.ecod_wl__no{font-size:var(--ecod-fs-xs)}}}@layer components{.ecod_ci{display:flex;flex-direction:column;gap:var(--ecod-gap);width:100%;max-width:760px;margin:0 auto}.ecod_ci__card{background:var(--ecod-surface);border:1px solid var(--ecod-border);border-radius:var(--ecod-radius);padding:var(--ecod-card-pad)}.ecod_ci__status{display:flex;align-items:center;gap:var(--ecod-sp-3);padding:var(--ecod-sp-4);border-radius:var(--ecod-radius-sm);background:linear-gradient(120deg,var(--ecod-primary),var(--ecod-primary-deep));color:var(--ecod-primary-ink)}.ecod_ci__status.is-guest{background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_ci__status.is-done{background:var(--ecod-surface-2);border:1px solid var(--ecod-line-2);color:var(--ecod-ink)}.ecod_ci__statustxt{display:flex;flex-direction:column;gap:3px;min-width:0}.ecod_ci__statustxt b{font-size:var(--ecod-fs-lg);font-weight:700}.ecod_ci__statustxt i{font-style:normal;font-size:var(--ecod-fs-xs);opacity:.85}.ecod_ci__status.is-done .ecod_ci__statustxt i{color:var(--ecod-text-3);opacity:1}.ecod_ci__go{margin-left:auto;flex:none;display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:9px var(--ecod-sp-5);border-radius:var(--ecod-radius-full);background:var(--ecod-surface);color:var(--ecod-primary-text);font-size:var(--ecod-fs-sm);font-weight:700;border:0;cursor:pointer;transition:transform var(--ecod-dur-fast) var(--ecod-ease),box-shadow var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_ci__go:hover{box-shadow:var(--ecod-shadow-sm);transform:translateY(-1px)}}.ecod_ci__status.is-done .ecod_ci__go,.ecod_ci__go.is-done{background:transparent;color:var(--ecod-success-ink);padding-inline:0;cursor:default}.ecod_ci__status.is-guest .ecod_ci__go{background:var(--ecod-primary-btn);color:var(--ecod-primary-ink);padding-inline:var(--ecod-sp-5)}.ecod_ci__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-3);padding-top:var(--ecod-sp-3);border-top:1px solid var(--ecod-line);font-size:var(--ecod-fs-sm);color:var(--ecod-text-2)}.ecod_ci__streak b{color:var(--ecod-ink);font-weight:700;font-variant-numeric:tabular-nums}.ecod_ci__mend{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:5px var(--ecod-sp-3);border-radius:var(--ecod-radius-full);border:1px solid var(--ecod-primary-line);background:none;color:var(--ecod-primary-text);font-size:var(--ecod-fs-xs);font-weight:600;cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ecod_ci__mend:hover{background:var(--ecod-primary-soft)}}.ecod_ci__note{margin-top:var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);padding:10px var(--ecod-sp-3)}.ecod_ci__note>summary{cursor:pointer;font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);list-style:none}.ecod_ci__note>summary::-webkit-details-marker{display:none}.ecod_ci__note>summary:before{content:"?";display:inline-grid;place-items:center;width:15px;height:15px;margin-right:5px;border-radius:50%;background:var(--ecod-line-2);color:var(--ecod-text-2);font:700 10px/1 var(--ecod-mono);vertical-align:-2px}.ecod_ci__note ol{margin:var(--ecod-sp-2) 0 0;padding-left:18px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-2);line-height:1.9}.ecod_ci__msg{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);min-height:1em}.ecod_ci__tabs{display:flex;gap:var(--ecod-sp-5);margin-bottom:var(--ecod-sp-2);border-bottom:1px solid var(--ecod-line)}.ecod_ci__tab{padding:var(--ecod-sp-2) 0 9px;margin-bottom:-1px;background:none;border:0;border-bottom:2px solid transparent;color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);font-weight:600;cursor:pointer}.ecod_ci__tab.is-on{color:var(--ecod-primary-text);border-bottom-color:var(--ecod-primary-text)}.ecod_ci__list{list-style:none;margin:0;padding:0}.ecod_ci__row{display:grid;grid-template-columns:56px 38px minmax(0,1fr) auto;align-items:center;gap:var(--ecod-sp-3);padding:9px var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);color:inherit;transition:background var(--ecod-dur-fast) var(--ecod-ease)}.ecod_ci__pane[data-ecod-rank-pane=feed] .ecod_ci__row{grid-template-columns:minmax(0,1fr) auto}.ecod_ci__list>li+li .ecod_ci__row{border-top:1px solid var(--ecod-line)}@media(hover:hover){.ecod_ci__row:hover{background:var(--ecod-surface-2)}}.ecod_ci__no{font:600 var(--ecod-fs-xs)/1 var(--ecod-mono);color:var(--ecod-text-3);font-variant-numeric:tabular-nums}.ecod_ci__row.is-gold .ecod_ci__no{color:#c98f13}.ecod_ci__row.is-silver .ecod_ci__no{color:#7b8698}.ecod_ci__row.is-bronze .ecod_ci__no{color:#b3713f}html[data-theme=dark] .ecod_ci__row.is-gold .ecod_ci__no{color:#f0c457}html[data-theme=dark] .ecod_ci__row.is-silver .ecod_ci__no{color:#b9c2d1}html[data-theme=dark] .ecod_ci__row.is-bronze .ecod_ci__no{color:#d19a70}.ecod_ci__av{width:38px;height:38px;border-radius:var(--ecod-avatar-radius);object-fit:cover;display:grid;place-items:center;flex:none;background:var(--ecod-surface-2)}.ecod_ci__av--text{background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-weight:700;font-size:var(--ecod-fs-sm)}.ecod_ci__row.is-gold .ecod_ci__av{box-shadow:0 0 0 2px var(--ecod-ring-gold)}.ecod_ci__row.is-silver .ecod_ci__av{box-shadow:0 0 0 2px var(--ecod-ring-silver)}.ecod_ci__row.is-bronze .ecod_ci__av{box-shadow:0 0 0 2px var(--ecod-ring-bronze)}.ecod_ci__who{min-width:0;display:flex;flex-direction:column;gap:2px}.ecod_ci__who b{font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-ink)}.ecod_ci__who span{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_ci__num{font:700 var(--ecod-fs-sm)/1 var(--ecod-mono);color:var(--ecod-primary-text);font-variant-numeric:tabular-nums;white-space:nowrap}@media(max-width:560px){.ecod_ci__status{flex-wrap:wrap}.ecod_ci__go{margin-left:0;width:100%;justify-content:center}.ecod_ci__row{grid-template-columns:44px 34px minmax(0,1fr) auto;gap:var(--ecod-sp-2)}}}@layer components{.ecod_ctb{max-width:1120px}body:has(.ecod_ctb) .ecod_fticker{display:none}.ctb-ed__form{display:block}.ctb-ed__grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--ecod-sp-4);align-items:start}.ctb-ed__main{display:grid;gap:var(--ecod-sp-4);min-width:0}.ctb-ed__side{display:grid;gap:var(--ecod-sp-3);align-content:start}.ctb-card{background:var(--ecod-surface);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius);padding:var(--ecod-card-pad);min-width:0}.ctb-card--editor{padding:0;overflow:visible}.ctb-field{display:grid;gap:var(--ecod-sp-1);min-width:0}.ctb-field+.ctb-field{margin-top:var(--ecod-sp-3)}.ctb-field__lab{display:flex;align-items:baseline;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text)}.ctb-field__lab i{color:var(--ecod-danger-text);font-style:normal}.ctb-field__lab em{font-style:normal;font-weight:400;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-field__lab--solo{padding:var(--ecod-card-pad) var(--ecod-card-pad) var(--ecod-sp-2)}.ctb-field__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-3);margin-top:var(--ecod-sp-3)}.ctb-field__row .ctb-field+.ctb-field{margin-top:0}.ctb-ed{border:1px solid var(--ecod-line);border-radius:var(--ecod-radius);background:var(--ecod-surface);overflow:hidden;overflow:clip}.ctb-card--editor .ctb-ed{border:0;border-top:1px solid var(--ecod-line);border-radius:0}.ctb-ed__bar{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);padding:var(--ecod-sp-2);background:var(--ecod-surface);border-bottom:1px solid var(--ecod-line);overflow-x:auto;scrollbar-width:none;transition:top var(--ecod-dur-slow) var(--ecod-ease)}.ctb-ed__bar::-webkit-scrollbar{display:none}html.is-hd-off .ctb-ed__bar{top:8px}.ctb-ibtn{flex:none;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-text-2);cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}.ctb-ibtn svg{width:16px;height:16px;display:block}@media(hover:hover){.ctb-ibtn:hover{background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}}.ctb-ibtn:focus-visible{outline:none;box-shadow:var(--ecod-ring)}.ctb-ibtn:active{transform:translateY(.5px)}.ctb-ibtn--all{width:auto;gap:var(--ecod-sp-1);padding:0 var(--ecod-sp-2) 0 var(--ecod-sp-1);font-size:var(--ecod-fs-xs);font-weight:600}.ctb-ibtn--all svg{width:14px;height:14px}.ctb-bar__sep{flex:none;width:1px;height:18px;background:var(--ecod-line-2);margin:0 4px}.ctb-ed__stage{position:relative}.ctb-ed__ta{display:block;width:100%;min-height:340px;padding:var(--ecod-card-pad);border:0;background:transparent;color:var(--ecod-text);font-family:var(--ecod-mono);font-size:var(--ecod-fs-md);line-height:1.85;resize:vertical;outline:none;tab-size:4}.ctb-ed__ta::placeholder{color:var(--ecod-text-3)}.ctb-ed__foot{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2) var(--ecod-card-pad);border-top:1px solid var(--ecod-line);background:var(--ecod-surface-2);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-ed__grow{flex:1 1 auto}.ctb-ed__count.is-short{color:var(--ecod-danger-text)}.ctb-ed__hint kbd,.ctb-ed .ctb-ed__hint kbd{display:inline-block;min-width:16px;padding:1px var(--ecod-sp-1);border:1px solid var(--ecod-line-2);border-bottom-width:2px;border-radius:var(--ecod-radius-xs);background:var(--ecod-surface);font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-2);line-height:1.5}.ctb-mini{flex:none;height:26px;padding:0 var(--ecod-sp-2);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);color:var(--ecod-text-2);font-size:var(--ecod-fs-2xs);font-weight:600;cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-mini:hover{border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ctb-mini.is-on{background:var(--ecod-primary-soft);border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}.ctb-ed__ops{display:flex;align-items:center;gap:var(--ecod-sp-3);flex-wrap:wrap;padding:var(--ecod-sp-1) 0 var(--ecod-sp-2)}.ctb-ed__submit{min-width:128px}.ctb-ed__submit.is-loading{opacity:.72;pointer-events:none}.ctb-ed__tip{font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ctb-ed__tip a{color:var(--ecod-primary-text)}.ctb-msg{margin:0;padding:var(--ecod-sp-2) var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);font-size:var(--ecod-fs-sm);background:var(--ecod-surface-2);color:var(--ecod-text-2)}.ctb-msg.is-ok{background:color-mix(in srgb,var(--ecod-success) 12%,var(--ecod-surface));color:var(--ecod-success-ink)}.ctb-msg.is-bad{background:color-mix(in srgb,var(--ecod-danger) 10%,var(--ecod-surface));color:var(--ecod-danger-text)}.ctb-side{padding:var(--ecod-card-pad)}.ctb-side__hd{display:flex;align-items:center;gap:var(--ecod-sp-1);margin-bottom:var(--ecod-sp-3);font-size:var(--ecod-fs-sm);font-weight:600;color:var(--ecod-text)}.ctb-side__hd em{margin-left:auto;flex:1 1 auto;min-width:0;text-align:right;font-style:normal;font-weight:400;font-size:var(--ecod-fs-2xs);line-height:1.5;color:var(--ecod-text-3)}.ctb-side__tt{flex:none;white-space:nowrap}.ctb-side__ic{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ctb-side__ic .ecod_icon{width:14px;height:14px}.ctb-side__add{display:flex;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-2)}.ctb-side__add .ecod_input{flex:1 1 auto;min-width:0;height:32px;font-size:var(--ecod-fs-xs)}.ctb-side__add--split .ctb-mini{flex:1 1 0;height:30px}.ctb-side__hint{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-2xs);line-height:1.6;color:var(--ecod-text-3)}.ctb-side__excerpt{width:100%;min-height:76px;font-size:var(--ecod-fs-sm);line-height:1.7;resize:vertical}.ctb-covers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ecod-sp-2);--ctb-cover-ratio: 4 / 3}.ctb-cover{position:relative;aspect-ratio:var(--ctb-cover-ratio, 4 / 3);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);overflow:hidden}.ctb-cover img{width:100%;height:100%;object-fit:cover;display:block}.ctb-cover.is-first{border-color:var(--ecod-primary-line)}.ctb-cover__badge{position:absolute;left:var(--ecod-sp-1);top:var(--ecod-sp-1);padding:1px var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);background:#141a2aa8;color:#fff;font-size:var(--ecod-fs-2xs);line-height:1.6}.ctb-cover__ops{position:absolute;right:var(--ecod-sp-1);top:var(--ecod-sp-1);display:flex;gap:var(--ecod-sp-1);opacity:0;transition:opacity var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-cover:hover .ctb-cover__ops{opacity:1}}.ctb-cover:focus-within .ctb-cover__ops{opacity:1}.ctb-cover__op{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ecod-radius-xs);background:#141a2aa8;color:#fff;cursor:pointer}.ctb-cover__op svg{width:12px;height:12px}.ctb-cover--add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ecod-sp-1);border-style:dashed;color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs);cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-cover--add:hover{border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ctb-cover--add svg{width:16px;height:16px}.ctb-seg{display:flex;gap:2px;padding:2px;border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ctb-seg button{flex:1 1 0;min-width:0;padding:var(--ecod-sp-1) var(--ecod-sp-1);border:0;border-radius:var(--ecod-radius-xs);background:transparent;color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-seg button:hover:not(:disabled){color:var(--ecod-text)}}.ctb-seg button.is-on{background:var(--ecod-surface);color:var(--ecod-primary-text);font-weight:600;box-shadow:var(--ecod-shadow-sm)}.ctb-seg button:disabled{opacity:.45;cursor:not-allowed}.ctb-seg--sm button{font-size:var(--ecod-fs-2xs);padding:3px var(--ecod-sp-1)}.ctb-seg.is-off{opacity:.5}.ctb-note{margin-top:var(--ecod-sp-3)}.ctb-note__ratio{display:flex;align-items:center;gap:var(--ecod-sp-1);padding:var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-note__ratio b{color:var(--ecod-text);font-size:var(--ecod-fs-xs)}.ctb-note__ratio i{margin-left:auto;font-style:normal}.ctb-note .ctb-field{margin-top:var(--ecod-sp-2)}.ctb-modes{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-3)}.ctb-modes button{padding:3px var(--ecod-sp-2);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-full);background:var(--ecod-surface);color:var(--ecod-text-2);font-size:var(--ecod-fs-2xs);cursor:pointer;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-modes button:hover:not(:disabled){border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ctb-modes button.is-on{border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-weight:600}.ctb-modes button:disabled{opacity:.45;cursor:not-allowed}.ctb-modes.is-off{display:none}.ctb-lpv{padding:var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);background:var(--ecod-bg);border:1px solid var(--ecod-line)}.ctb-lpv__box{display:grid;gap:var(--ecod-sp-2);padding:var(--ecod-card-pad-sm);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);border:1px solid var(--ecod-line);min-height:96px;align-content:start}.ctb-lpv__box.is-default{grid-template-columns:minmax(0,1fr) 88px;align-items:start}.ctb-lpv__box.is-default.side-left{grid-template-columns:88px minmax(0,1fr)}.ctb-lpv__box.is-default.side-left .ctb-lpv__cover{order:-1}.ctb-lpv__box.is-feature,.ctb-lpv__box.is-gallery,.ctb-lpv__box.is-bare,.ctb-lpv__box.is-title,.ctb-lpv__box.is-note{grid-template-columns:minmax(0,1fr)}.ctb-lpv__box.is-grid{grid-template-columns:1fr 1fr}.ctb-lpv__cover{aspect-ratio:4 / 3;border-radius:var(--ecod-radius-sm);overflow:hidden;background:var(--ecod-surface-2)}.ctb-lpv__box.is-feature .ctb-lpv__cover{aspect-ratio:16 / 9}.ctb-lpv__box.is-note .ctb-lpv__cover{aspect-ratio:3 / 4}.ctb-lpv__cover img{width:100%;height:100%;object-fit:cover;display:block}.ctb-lpv__ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);background:repeating-linear-gradient(45deg,var(--ecod-surface-2),var(--ecod-surface-2) 6px,var(--ecod-bg) 6px,var(--ecod-bg) 12px)}.ctb-lpv__title{font-size:var(--ecod-fs-sm);font-weight:650;line-height:1.4;color:var(--ecod-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ctb-lpv__title.is-big{font-size:var(--ecod-fs-md);-webkit-line-clamp:3}.ctb-lpv__title.is-sm{font-size:var(--ecod-fs-xs)}.ctb-lpv__desc{margin:0;font-size:var(--ecod-fs-2xs);line-height:1.6;color:var(--ecod-text-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ctb-lpv__meta{display:flex;gap:var(--ecod-sp-1);font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-lpv__gal{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ecod-sp-1)}.ctb-lpv__thumb{display:block;aspect-ratio:4 / 3;border-radius:var(--ecod-radius-xs);overflow:hidden;background:var(--ecod-surface-2)}.ctb-lpv__thumb img{width:100%;height:100%;object-fit:cover;display:block}.ctb-modal{position:fixed;inset:0;z-index:var(--ecod-z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--ecod-sp-4)}.ctb-modal:before{content:"";position:absolute;inset:0;background:var(--ecod-mask);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.ctb-modal__panel{position:relative;display:flex;flex-direction:column;width:min(520px,100%);max-height:min(86vh,780px);background:var(--ecod-surface);border-radius:var(--ecod-radius);box-shadow:var(--ecod-shadow-pop);transition:opacity var(--ecod-dur-enter) var(--ecod-ease-pop),transform var(--ecod-dur-enter) var(--ecod-ease-pop);overflow:hidden}@starting-style{.ctb-modal__panel{opacity:0;transform:translateY(10px) scale(.98)}}.ctb-modal__panel.is-wide{width:min(640px,100%)}.ctb-modal__hd{display:flex;align-items:flex-start;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);border-bottom:1px solid var(--ecod-line)}.ctb-modal__ic{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ctb-modal__ic svg{width:16px;height:16px}.ctb-modal__meta{display:grid;gap:2px;min-width:0}.ctb-modal__meta b{font-size:var(--ecod-fs-md);font-weight:600;color:var(--ecod-text)}.ctb-modal__meta i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-modal__x{margin-left:auto;width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-text-3);cursor:pointer}@media(hover:hover){.ctb-modal__x:hover{background:var(--ecod-surface-2);color:var(--ecod-text)}}.ctb-modal__x svg{width:14px;height:14px}.ctb-modal__bd{padding:var(--ecod-sp-4);overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-3)}.ctb-modal__ft{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-3) var(--ecod-sp-4);border-top:1px solid var(--ecod-line);background:var(--ecod-surface-2)}.ctb-modal__note{font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-modal__grow{flex:1 1 auto}.ctb-btn{height:34px;padding:0 var(--ecod-sp-4);border:1px solid transparent;border-radius:var(--ecod-radius-sm);font-size:var(--ecod-fs-sm);font-weight:600;cursor:pointer;transition:background var(--ecod-dur-fast) var(--ecod-ease),border-color var(--ecod-dur-fast) var(--ecod-ease)}.ctb-btn--ghost{background:var(--ecod-surface);border-color:var(--ecod-line-2);color:var(--ecod-text-2)}@media(hover:hover){.ctb-btn--ghost:hover{border-color:var(--ecod-border-strong);color:var(--ecod-text)}}.ctb-btn--pri{background:var(--ecod-primary-btn);color:var(--ecod-primary-ink)}@media(hover:hover){.ctb-btn--pri:hover{background:var(--ecod-primary-deep)}}.ctb-btn--sm{height:28px;padding:0 var(--ecod-sp-2);font-size:var(--ecod-fs-xs)}.ctb-f{display:grid;gap:var(--ecod-sp-1);min-width:0}.ctb-f.is-wide{grid-column:1 / -1}.ctb-f.is-hide{display:none}.ctb-f__lab{font-size:var(--ecod-fs-xs);font-weight:600;color:var(--ecod-text-2)}.ctb-f__lab i{color:var(--ecod-danger-text);font-style:normal}.ctb-f__sw{display:block;width:100%;height:3px;border-radius:var(--ecod-radius-full)}.ctb-formtip{grid-column:1 / -1;margin:0;padding: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-2xs);line-height:1.6}.ctb-rows{grid-column:1 / -1;display:grid;gap:var(--ecod-sp-2)}.ctb-row{position:relative;padding:var(--ecod-sp-2);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ctb-row__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-2)}.ctb-row__cell{display:grid;gap:2px;min-width:0}.ctb-row__cell.is-wide,.ctb-row__cell.is-full{grid-column:1 / -1}.ctb-row__lab{font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-row__cell .ctb-input,.ctb-row__cell .ctb-select,.ctb-row__cell .ctb-textarea{height:30px;font-size:var(--ecod-fs-xs)}.ctb-row__cell .ctb-textarea{height:auto;min-height:56px}.ctb-rowdel{position:absolute;right:var(--ecod-sp-1);top:var(--ecod-sp-1);width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:var(--ecod-radius-xs);background:transparent;color:var(--ecod-text-3);cursor:pointer}@media(hover:hover){.ctb-rowdel:hover{background:color-mix(in srgb,var(--ecod-danger) 10%,transparent);color:var(--ecod-danger-text)}}.ctb-rowdel svg{width:13px;height:13px}.ctb-rowadd{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:var(--ecod-sp-1);height:30px;padding:0 var(--ecod-sp-2);border:1px dashed var(--ecod-line-2);border-radius:var(--ecod-radius-sm);background:transparent;color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);cursor:pointer}@media(hover:hover){.ctb-rowadd:hover{border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ctb-rowadd svg{width:13px;height:13px}.ctb-input,.ctb-select,.ctb-textarea{width:100%;min-width:0;padding:0 var(--ecod-sp-2);border:1px solid var(--ecod-field-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);color:var(--ecod-text);font-family:inherit;font-size:var(--ecod-fs-sm);outline:none;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),box-shadow var(--ecod-dur-fast) var(--ecod-ease)}.ctb-input,.ctb-select{height:34px}.ctb-textarea{padding:var(--ecod-sp-2);line-height:1.7;resize:vertical;min-height:68px}.ctb-input:focus,.ctb-select:focus,.ctb-textarea:focus{border-color:var(--ecod-primary-line);box-shadow:var(--ecod-ring)}.ctb-pick{display:grid;gap:var(--ecod-sp-3);grid-column:1 / -1}.ctb-pick__search{position:relative}.ctb-pick__searchic{position:absolute;left:var(--ecod-sp-2);top:50%;transform:translateY(-50%);color:var(--ecod-text-3);display:inline-flex}.ctb-pick__searchic svg{width:15px;height:15px}.ctb-pick__search .ctb-input{padding-left:var(--ecod-sp-8);height:38px}.ctb-pick__list{display:grid;gap:var(--ecod-sp-3);max-height:52vh;overflow-y:auto}.ctb-pick__gname{font-size:var(--ecod-fs-2xs);font-weight:600;color:var(--ecod-text-3);margin-bottom:var(--ecod-sp-1);letter-spacing:.04em}.ctb-pick__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--ecod-sp-1)}.ctb-pick__item{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:var(--ecod-sp-2);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface);text-align:left;cursor:pointer;min-width:0;transition:border-color var(--ecod-dur-fast) var(--ecod-ease),background var(--ecod-dur-fast) var(--ecod-ease)}@media(hover:hover){.ctb-pick__item:hover{border-color:var(--ecod-primary-line);background:var(--ecod-primary-soft)}}.ctb-pick__ic{width:26px;height:26px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);color:var(--ecod-text-2)}.ctb-pick__ic svg{width:15px;height:15px}.ctb-pick__tx{display:grid;gap:1px;min-width:0}.ctb-pick__tx b{font-size:var(--ecod-fs-xs);font-weight:600;color:var(--ecod-text)}.ctb-pick__tx i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctb-pick__empty{margin:0;padding:var(--ecod-sp-6);text-align:center;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ctb-lib{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--ecod-sp-2);grid-column:1 / -1;max-height:52vh;overflow-y:auto}.ctb-lib__item{aspect-ratio:1 / 1;padding:0;border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);overflow:hidden;background:var(--ecod-surface-2);cursor:pointer}.ctb-lib__item img{width:100%;height:100%;object-fit:cover;display:block}@media(hover:hover){.ctb-lib__item:hover{border-color:var(--ecod-primary-line)}}.ctb-lib__empty{grid-column:1 / -1;margin:0;padding:var(--ecod-sp-6);text-align:center;font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ctb-mirror{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;overflow:hidden;z-index:-1}.ctb-slash{position:fixed;z-index:var(--ecod-z-tip);width:300px;max-height:340px;overflow-y:auto;padding:var(--ecod-sp-1);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow-pop)}.ctb-slash__group+.ctb-slash__group .ctb-slash__gtitle{margin-top:var(--ecod-sp-1);border-top:1px solid var(--ecod-line)}.ctb-slash__gtitle{padding:var(--ecod-sp-2) var(--ecod-sp-2) 2px;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-slash__empty{padding:var(--ecod-sp-4) var(--ecod-sp-2);text-align:center;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ctb-slash__item{display:flex;align-items:center;gap:var(--ecod-sp-2);width:100%;padding:var(--ecod-sp-1) var(--ecod-sp-2);border:0;border-radius:var(--ecod-radius-sm);background:transparent;text-align:left;cursor:pointer}.ctb-slash__item b{font-size:var(--ecod-fs-xs);font-weight:600;color:var(--ecod-text);white-space:nowrap}.ctb-slash__item i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ctb-slash__ic{width:20px;flex:none;display:inline-flex;color:var(--ecod-text-3)}.ctb-slash__ic svg{width:14px;height:14px}.ctb-slash__item.is-on{background:var(--ecod-primary-soft)}.ctb-slash__item.is-on b,.ctb-slash__item.is-on .ctb-slash__ic{color:var(--ecod-primary-text)}.ctb-tip{position:fixed;z-index:var(--ecod-z-tip);max-width:240px;padding:var(--ecod-sp-1) var(--ecod-sp-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-tip-bg);color:#fff;font-size:var(--ecod-fs-2xs);line-height:1.5;opacity:0;pointer-events:none;transform:translateY(-2px);transition:opacity var(--ecod-dur-fast) var(--ecod-ease),transform var(--ecod-dur-fast) var(--ecod-ease)}.ctb-tip.is-on{opacity:1;transform:translateY(0)}.ctb-tip i{display:block;margin-top:2px;opacity:.68;font-style:normal}.ctb-tip.is-above{transform:translateY(2px)}.ctb-tip.is-above.is-on{transform:translateY(0)}.ctb-restore{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-primary-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-soft);font-size:var(--ecod-fs-xs);color:var(--ecod-primary-text)}.ctb-restore>span{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);flex:1 1 auto}.ctb-restore svg{width:14px;height:14px}.ctb-ed__pv{padding:var(--ecod-card-pad);min-height:340px;max-height:min(72vh,860px);overflow:auto;overscroll-behavior:contain;font-size:var(--ecod-fs-md);line-height:1.85;color:var(--ecod-text)}.ctb-ed__pv>:first-child{margin-top:0}.ctb-ed__pv .ecod_content{font-size:var(--ecod-fs-md)}.ctb-ed__pv .ecod_content>:first-child{margin-top:0}.ctb-ed__pv .ecod_content>:last-child{margin-bottom:0}.ctb-ed__pv .ecod_content img{cursor:zoom-in}.ctb-ed__pv.is-busy{opacity:.6;transition:opacity var(--ecod-dur) linear}.ctb-ed__pv__loading{color:var(--ecod-text-3);font-size:var(--ecod-fs-sm)}.ctb-ed__pv__fallback{margin:0 0 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-sm)}.ctb-ed__pv p{margin:0 0 var(--ecod-sp-3)}.ctb-ed__pv h2,.ctb-ed__pv h3,.ctb-ed__pv h4{margin:var(--ecod-sp-5) 0 var(--ecod-sp-2);font-weight:650;line-height:1.4}.ctb-ed__pv ul,.ctb-ed__pv ol{margin:0 0 var(--ecod-sp-3);padding-left:var(--ecod-sp-5)}.ctb-ed__pv blockquote{margin:0 0 var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);border-left:3px solid var(--ecod-primary-line);background:var(--ecod-surface-2);color:var(--ecod-text-2)}.ctb-ed__pv code{padding:1px var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);background:var(--ecod-surface-2);font-family:var(--ecod-mono);font-size:.92em}.ctb-ed__pv pre{margin:0 0 var(--ecod-sp-3);padding:var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);overflow-x:auto}.ctb-ed__pv pre code{background:none;padding:0}.ctb-ed__pv mark{background:color-mix(in srgb,var(--ecod-accent) 32%,transparent);color:inherit;padding:0 2px;border-radius:2px}.ctb-ed__pv kbd{padding:1px var(--ecod-sp-1);border:1px solid var(--ecod-line-2);border-bottom-width:2px;border-radius:var(--ecod-radius-xs);font-family:var(--ecod-mono);font-size:.85em}.ctb-ed__pv__badge{display:inline-block;padding:0 var(--ecod-sp-1);border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text);font-size:var(--ecod-fs-2xs)}.ctb-ed__pv__tip{text-decoration:underline dotted;text-underline-offset:3px}.ctb-ed__pv__spoiler{background:var(--ecod-text);color:transparent;border-radius:2px}.ctb-ed__pv__empty{color:var(--ecod-text-3)}.ctb-ed__pv__h3{font-size:var(--ecod-fs-lg)}.ctb-pv__note{margin:0 0 var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);border-radius:var(--ecod-radius-sm);border-left:3px solid var(--ecod-primary);background:var(--ecod-primary-soft);color:var(--ecod-text)}.ctb-pv__note b{display:block;margin-bottom:2px;font-size:var(--ecod-fs-sm)}.ctb-pv__note p{margin:0;font-size:var(--ecod-fs-sm)}.ctb-pv__note.is-success{border-left-color:var(--ecod-success);background:color-mix(in srgb,var(--ecod-success) 10%,var(--ecod-surface))}.ctb-pv__note.is-warn{border-left-color:var(--ecod-accent);background:color-mix(in srgb,var(--ecod-accent) 12%,var(--ecod-surface))}.ctb-pv__note.is-danger,.ctb-pv__note.is-error{border-left-color:var(--ecod-danger-text);background:color-mix(in srgb,var(--ecod-danger) 10%,var(--ecod-surface))}.ctb-pv__note.is-dark{border-left-color:var(--ecod-text-2);background:var(--ecod-surface-2)}.ctb-pv__fold{margin:0 0 var(--ecod-sp-3);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-sm);overflow:hidden}.ctb-pv__fold b{display:block;padding:var(--ecod-sp-2) var(--ecod-sp-3);background:var(--ecod-surface-2);font-size:var(--ecod-fs-sm)}.ctb-pv__fold div{padding:var(--ecod-sp-3);font-size:var(--ecod-fs-sm);color:var(--ecod-text-2)}.ctb-pv__cards{display:grid;grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr));gap:var(--ecod-sp-2);margin:0 0 var(--ecod-sp-3)}.ctb-pv__cards-t{grid-column:1 / -1;font-size:var(--ecod-fs-sm);font-weight:600}.ctb-pv__card{padding:var(--ecod-sp-2);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm)}.ctb-pv__card b{display:block;font-size:var(--ecod-fs-sm)}.ctb-pv__card span{display:block;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-pv__dl{display:flex;align-items:center;gap:var(--ecod-sp-2);margin:0 0 var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2)}.ctb-pv__dl-ic{color:var(--ecod-primary-text);display:inline-flex}.ctb-pv__dl-ic svg{width:18px;height:18px}.ctb-pv__dl-tx{display:grid;gap:1px;min-width:0}.ctb-pv__dl-tx b{font-size:var(--ecod-fs-sm)}.ctb-pv__dl-tx i{font-style:normal;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-pv__dl-note{margin-left:auto;font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3)}.ctb-pv__prog{position:relative;height:8px;margin:0 0 var(--ecod-sp-3);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);overflow:hidden}.ctb-pv__prog span{display:block;height:100%;border-radius:inherit;background:var(--ecod-primary)}.ctb-pv__gal{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ecod-sp-1);margin:0 0 var(--ecod-sp-3)}.ctb-pv__gal span{display:block;aspect-ratio:1 / 1;border-radius:var(--ecod-radius-xs);overflow:hidden;background:var(--ecod-surface-2)}.ctb-pv__gal img{width:100%;height:100%;object-fit:cover;display:block}.ctb-pv__tabs{display:flex;gap:var(--ecod-sp-1);margin:0 0 var(--ecod-sp-3);border-bottom:1px solid var(--ecod-line)}.ctb-pv__tabs span{padding:var(--ecod-sp-1) var(--ecod-sp-2);font-size:var(--ecod-fs-sm);color:var(--ecod-text-3)}.ctb-pv__tabs span.is-on{color:var(--ecod-primary-text);border-bottom:2px solid var(--ecod-primary);font-weight:600}.ctb-pv__tl{display:grid;gap:var(--ecod-sp-2);margin:0 0 var(--ecod-sp-3);padding-left:var(--ecod-sp-3);border-left:2px solid var(--ecod-line-2)}.ctb-pv__tl div{display:grid;gap:1px}.ctb-pv__tl b{font-size:var(--ecod-fs-2xs);color:var(--ecod-text-3);font-weight:600}.ctb-pv__tl span{font-size:var(--ecod-fs-sm)}.ctb-pv__media,.ctb-pv__ph{display:flex;align-items:center;gap:var(--ecod-sp-2);margin:0 0 var(--ecod-sp-3);padding:var(--ecod-sp-3);border:1px dashed var(--ecod-line-2);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ctb-pv__media svg{width:16px;height:16px}@media(max-width:1100px){.ctb-ed__grid{grid-template-columns:minmax(0,1fr)}.ctb-ed__side{grid-template-columns:1fr 1fr}.ctb-ed__side .ctb-side:first-child{grid-column:1 / -1}}@media(max-width:680px){.ecod_ctb{max-width:none}.ctb-field__row,.ctb-ed__side,.ctb-modal__bd,.ctb-pick__grid{grid-template-columns:1fr}.ctb-lib{grid-template-columns:repeat(3,1fr)}.ctb-ed__hint{display:none}}@media(max-width:560px){.ctb-ed__grid{gap:var(--ecod-sp-3)}.ctb-card{padding:var(--ecod-sp-3)}.ctb-card--editor{padding:0}.ctb-ed__ta{min-height:260px;padding:var(--ecod-sp-3);font-size:var(--ecod-fs-sm)}.ctb-ed__pv{padding:var(--ecod-sp-3)}.ctb-ed__ops{gap:var(--ecod-sp-2)}.ctb-ed__submit{flex:1 1 100%}.ctb-tip{display:none}}@media(prefers-reduced-motion:reduce){.ctb-modal__panel{animation:none}.ctb-ibtn:active{transform:none}}}
