@layer tokens,base,components,utilities;@layer components{.ecod_dl.ecod_dl--hint{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-4);border:1px dashed var(--ecod-line-strong);border-radius:var(--ecod-radius);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-sm);line-height:1.7}.ecod_dl__hicon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-top:1px;border-radius:var(--ecod-radius-full);background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_dl__hintbody{min-width:0}.ecod_dl__hintbody b{display:block;margin-bottom:2px;color:var(--ecod-text);font-size:var(--ecod-fs-sm);font-weight:650}.ecod_dl__hintbody p{margin:0}.ecod_dl__hintbody code{padding:1px var(--ecod-sp-1);border-radius:var(--ecod-radius-xs);background:color-mix(in srgb,var(--ecod-text) 7%,transparent);font-size:.92em}.ecod_dl__hinttip{margin-top:var(--ecod-sp-1)}.ecod_dl__hinttip a{color:var(--ecod-primary-text);text-decoration:underline;text-underline-offset:2px}.ecod_dl.ecod_dl--card{display:block;margin:var(--ecod-sp-5) 0;padding:var(--ecod-card-pad);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius);background:var(--ecod-surface);text-decoration:none;color:inherit;transition:none}.ecod_dl__head{display:flex;align-items:center;gap:var(--ecod-sp-2);margin:0 0 var(--ecod-sp-3)}.ecod_dl--card .ecod_dl__head h3{margin:0;font-size:var(--ecod-fs-base);font-weight:650;color:var(--ecod-text);line-height:1.4}.ecod_dl__chip{margin-left:auto;flex:none;padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);font-size:var(--ecod-fs-2xs);font-weight:600;line-height:1.6}.ecod_dl__chip--paid{background:color-mix(in srgb,var(--ecod-accent) 14%,transparent);color:color-mix(in srgb,var(--ecod-accent) 75%,#7a4a00)}.ecod_dl__chip--vip{background:var(--ecod-primary-soft);color:var(--ecod-primary-text)}.ecod_dl__chip--free{background:color-mix(in srgb,var(--ecod-success) 13%,transparent);color:var(--ecod-success-ink)}.ecod_dl__title{font-size:var(--ecod-fs-xl);font-weight:650;line-height:1.45;color:var(--ecod-text);margin:0 0 var(--ecod-sp-2)}.ecod_dl__note{margin:0 0 var(--ecod-sp-3);font-size:var(--ecod-fs-sm);line-height:1.7;color:var(--ecod-text-2)}.ecod_dl__files{margin:0 0 var(--ecod-sp-4);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);overflow:hidden}.ecod_dl__file{display:flex;align-items:center;gap:var(--ecod-sp-3);padding:var(--ecod-sp-2) var(--ecod-sp-3);background:var(--ecod-surface);transition:background-color var(--ecod-dur) var(--ecod-ease)}.ecod_dl__file+.ecod_dl__file{border-top:1px solid var(--ecod-line)}@media(hover:hover){.ecod_dl__file:hover{background:var(--ecod-surface-2)}}.ecod_dl__fico{flex:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--ecod-radius-sm);background:var(--ecod-surface-2);border:1px solid var(--ecod-line);color:var(--ecod-text-3);font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);font-weight:700;letter-spacing:-.03em;text-transform:uppercase}.ecod_dl__fico[style]{border-color:transparent;color:#fff}.ecod_dl__fmain{min-width:0;flex:1}.ecod_dl__fname{font-size:var(--ecod-fs-md);font-weight:550;color:var(--ecod-text);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecod_dl__fmeta{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px;margin-top:1px;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);line-height:1.5}.ecod_dl__fmeta span{opacity:.5}.ecod_dl__fact{flex:none;display:flex;align-items:center;gap:var(--ecod-sp-2)}.ecod_dl__pill{display:inline-block;padding:0 6px;border-radius:var(--ecod-radius-xs);background:var(--ecod-surface-2);color:var(--ecod-text-3);font-size:var(--ecod-fs-2xs);font-weight:600;line-height:1.8;vertical-align:middle}.ecod_dl__pill--ok{background:color-mix(in srgb,var(--ecod-success) 13%,transparent);color:var(--ecod-success-ink)}.ecod_dl__pill--lock{background:var(--ecod-surface-2);color:var(--ecod-text-3)}.ecod_dl__price{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)}.ecod_dl__prow{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:5px 0;font-size:var(--ecod-fs-sm)}.ecod_dl__prow+.ecod_dl__prow{border-top:1px dashed var(--ecod-line-2)}.ecod_dl__pdot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--ecod-line-strong)}.ecod_dl__prow.is-mine .ecod_dl__pdot{background:var(--ecod-primary)}.ecod_dl__pk{color:var(--ecod-text-2)}.ecod_dl__pv{margin-left:auto;font-weight:650;color:var(--ecod-text);font-variant-numeric:tabular-nums}.ecod_dl__pv.is-free{color:var(--ecod-success-ink)}.ecod_dl__cta{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:0 var(--ecod-sp-4);border:1px solid transparent;border-radius:var(--ecod-radius-sm);background:var(--ecod-primary-btn);color:var(--ecod-primary-ink);font-size:var(--ecod-fs-md);font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;transition:filter var(--ecod-dur) var(--ecod-ease),opacity var(--ecod-dur) var(--ecod-ease)}@media(hover:hover){.ecod_dl__cta:hover{filter:brightness(1.06)}}.ecod_dl__cta:active{filter:brightness(.96)}.ecod_dl__cta--buy{background:var(--ecod-accent);color:#fff}@media(hover:hover){.ecod_dl__cta--buy:hover{filter:brightness(.95)}}.ecod_dl__cta--done{background:var(--ecod-primary-soft);color:var(--ecod-primary-text);border-color:var(--ecod-primary-line)}.ecod_dl__cta--sm{width:auto;min-height:32px;padding:0 var(--ecod-sp-3);font-size:var(--ecod-fs-sm);border-radius:var(--ecod-radius-xs)}.ecod_dl__cta.is-busy{opacity:.65;pointer-events:none}.ecod_dl__cta[disabled]{opacity:.55;cursor:not-allowed;filter:none}.ecod_content .ecod_dl__cta{color:var(--ecod-primary-ink);text-decoration:none}.ecod_content .ecod_dl__cta--buy{color:#fff}.ecod_content .ecod_dl__cta--done{color:var(--ecod-primary-text)}.ecod_content .ecod_dl__shot,.ecod_content .ecod_dl__mini-row,.ecod_content .ecod_dl__demo{text-decoration:none}.ecod_dl__hint{margin:var(--ecod-sp-2) 0 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);text-align:center}.ecod_dl__demo{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);margin-top:var(--ecod-sp-2);font-size:var(--ecod-fs-sm);color:var(--ecod-text-2);text-decoration:none}@media(hover:hover){.ecod_dl__demo:hover{color:var(--ecod-primary-text)}}.ecod_dl__perks{display:flex;flex-wrap:wrap;gap:var(--ecod-sp-2);margin-top:var(--ecod-sp-3)}.ecod_dl__perks span{display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:3px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:var(--ecod-surface-2);color:var(--ecod-text-2);font-size:var(--ecod-fs-xs)}.ecod_dl__perks svg{color:var(--ecod-primary-text)}.ecod_dl__sec{margin-top:var(--ecod-sp-4)}.ecod_dl__sec-t{font-size:var(--ecod-fs-xs);font-weight:600;color:var(--ecod-text-3);letter-spacing:.04em}.ecod_dl__dash{height:1px;margin:var(--ecod-sp-2) 0 var(--ecod-sp-1);background:var(--ecod-line)}.ecod_dl__specs{margin:0}.ecod_dl__specs>div{display:flex;align-items:baseline;gap:var(--ecod-sp-3);padding:6px 0;font-size:var(--ecod-fs-sm)}.ecod_dl__specs>div+div{border-top:1px dashed var(--ecod-line-2)}.ecod_dl__specs dt{flex:none;min-width:72px;margin:0;color:var(--ecod-text-3)}.ecod_dl__specs dd{flex:1;min-width:0;margin:0;color:var(--ecod-text);text-align:right}.ecod_dl__yes,.ecod_dl__no{display:inline-flex;align-items:center;gap:var(--ecod-sp-1)}.ecod_dl__yes{color:var(--ecod-success-ink)}.ecod_dl__no{color:var(--ecod-text-3)}.ecod_dl__yes i,.ecod_dl__no i{font-style:normal;font-weight:700}.ecod_dl__help{margin:var(--ecod-sp-3) 0 0;padding-top:var(--ecod-sp-3);border-top:1px dashed var(--ecod-line-2);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);text-align:center}.ecod_dl__help a{color:var(--ecod-primary-text);text-decoration:none}@media(hover:hover){.ecod_dl__help a:hover{text-decoration:underline}}.ecod_dl__prev{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:var(--ecod-sp-4);align-items:start}.ecod_dl__shot{position:relative;display:block;border-radius:var(--ecod-radius-sm);overflow:hidden;background:var(--ecod-surface-2);border:1px solid var(--ecod-line);aspect-ratio:16 / 10}.ecod_dl__shot img{width:100%;height:100%;object-fit:cover;display:block}@media(hover:hover){.ecod_dl.ecod_dl--card .ecod_dl__shot img:hover{width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:center;transform:none;box-shadow:none}}.ecod_dl.ecod_dl--card .ecod_dl__shot img{width:100%;height:100%;margin:0;border-radius:0;object-fit:cover;object-position:center;transform:none;box-shadow:none}.ecod_dl__shot-tag{position:absolute;left:8px;top:8px;padding:2px var(--ecod-sp-2);border-radius:var(--ecod-radius-full);background:#0f121a99;color:#fff;font-size:var(--ecod-fs-2xs);line-height:1.7;backdrop-filter:blur(4px)}.ecod_dl__prevbody{min-width:0}.ecod_dl__prevbody h4{margin:0 0 var(--ecod-sp-2);font-size:var(--ecod-fs-xl);font-weight:650;line-height:1.4;color:var(--ecod-text)}.ecod_dl__prevbody p{margin:0 0 var(--ecod-sp-3);font-size:var(--ecod-fs-sm);line-height:1.7;color:var(--ecod-text-2)}.ecod_dl__prevbody .ecod_dl__price{margin-bottom:var(--ecod-sp-3)}.ecod_dl__mini{padding:var(--ecod-card-pad);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius);background:var(--ecod-surface)}.ecod_dl__mini-head{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-bottom:var(--ecod-sp-2)}.ecod_dl__mini-head h4{margin:0;font-size:var(--ecod-fs-md);font-weight:650;color:var(--ecod-text)}.ecod_dl__mini-head em{margin-left:auto;font-style:normal;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_dl__mini-row{display:flex;align-items:center;gap:var(--ecod-sp-2);padding:7px 0;text-decoration:none;border-top:1px dashed var(--ecod-line-2)}.ecod_dl__mini-row:first-of-type{border-top:0}.ecod_dl__mini-dot{flex:none;width:5px;height:5px;border-radius:50%;background:var(--ecod-line-strong);transition:background-color var(--ecod-dur) var(--ecod-ease)}.ecod_dl__mini-t{flex:1;min-width:0;font-size:var(--ecod-fs-sm);color:var(--ecod-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--ecod-dur) var(--ecod-ease)}.ecod_dl__mini-x{flex:none;font-size:var(--ecod-fs-2xs);font-weight:600;color:var(--ecod-text-3)}@media(hover:hover){.ecod_dl__mini-row:hover .ecod_dl__mini-t{color:var(--ecod-primary-text)}.ecod_dl__mini-row:hover .ecod_dl__mini-dot{background:var(--ecod-primary)}}.ecod_dl__mini-more{display:block;margin-top:var(--ecod-sp-2);padding-top:var(--ecod-sp-2);border-top:1px solid var(--ecod-line);font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);text-align:center;text-decoration:none}@media(hover:hover){.ecod_dl__mini-more:hover{color:var(--ecod-primary-text)}}.ecod_dl__inline{display:flex;align-items:center;gap:var(--ecod-sp-3);margin:var(--ecod-sp-4) 0;padding:var(--ecod-sp-2) var(--ecod-sp-3);border:1px solid var(--ecod-line);border-radius:var(--ecod-radius-sm);background:var(--ecod-surface)}.ecod_dl__code{flex:none;display:inline-flex;align-items:center;gap:var(--ecod-sp-1);padding:2px var(--ecod-sp-2);border:1px dashed var(--ecod-line-strong);border-radius:var(--ecod-radius-full);background:transparent;color:var(--ecod-text-2);font-family:var(--ecod-mono);font-size:var(--ecod-fs-2xs);cursor:pointer}@media(hover:hover){.ecod_dl__code:hover{border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ecod_dl__empty{margin:var(--ecod-sp-4) 0;padding:var(--ecod-sp-4);border:1px dashed var(--ecod-line-2);border-radius:var(--ecod-radius-sm);color:var(--ecod-text-3);font-size:var(--ecod-fs-sm);text-align:center}.ecod_dl__pansheet{position:fixed;inset:0;z-index:var(--ecod-z-lightbox);display:flex;align-items:center;justify-content:center;padding:var(--ecod-sp-4);background:var(--ecod-mask);backdrop-filter:blur(var(--ecod-mask-blur))}.ecod_dl__panbox{width:100%;max-width:440px;padding:var(--ecod-card-pad-lg);border-radius:var(--ecod-radius);background:var(--ecod-surface);box-shadow:var(--ecod-shadow-pop)}.ecod_dl__panhead{display:flex;align-items:flex-start;gap:var(--ecod-sp-3);margin-bottom:var(--ecod-sp-3)}.ecod_dl__panhead b{flex:1;min-width:0;font-size:var(--ecod-fs-lg);font-weight:650;line-height:1.45;color:var(--ecod-text)}.ecod_dl__panx{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--ecod-radius-xs);background:var(--ecod-surface-2);color:var(--ecod-text-3);cursor:pointer}@media(hover:hover){.ecod_dl__panx:hover{color:var(--ecod-text)}}.ecod_dl__panrow{display:flex;align-items:center;gap:var(--ecod-sp-2);margin-top: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-2)}.ecod_dl__panrow>span{flex:none;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3)}.ecod_dl__panrow input{flex:1;min-width:0;border:0;background:transparent;color:var(--ecod-text);font-family:var(--ecod-mono);font-size:var(--ecod-fs-xs);outline:none}.ecod_dl__panrow code{flex:1;font-family:var(--ecod-mono);font-size:var(--ecod-fs-sm);font-weight:700;letter-spacing:.08em;color:var(--ecod-text)}.ecod_dl__panrow button{flex:none;padding:3px 10px;border:1px solid var(--ecod-line-2);border-radius:var(--ecod-radius-xs);background:var(--ecod-surface);color:var(--ecod-text-2);font-size:var(--ecod-fs-xs);cursor:pointer}@media(hover:hover){.ecod_dl__panrow button:hover{border-color:var(--ecod-primary-line);color:var(--ecod-primary-text)}}.ecod_dl__pannote{margin:var(--ecod-sp-3) 0;font-size:var(--ecod-fs-xs);color:var(--ecod-text-3);line-height:1.7}.ecod_dl--dark{background:#151a24;border-color:#ffffff14}.ecod_dl--dark .ecod_dl__head h3,.ecod_dl--dark .ecod_dl__title,.ecod_dl--dark .ecod_dl__fname,.ecod_dl--dark .ecod_dl__specs dd,.ecod_dl--dark .ecod_dl__pv{color:#eef1f7}.ecod_dl--dark .ecod_dl__note,.ecod_dl--dark .ecod_dl__fmeta,.ecod_dl--dark .ecod_dl__pk{color:#a7b0c2}.ecod_dl--dark .ecod_dl__files,.ecod_dl--dark .ecod_dl__file,.ecod_dl--dark .ecod_dl__sec,.ecod_dl--dark .ecod_dl__price{border-color:#ffffff14}.ecod_dl--dark .ecod_dl__file,.ecod_dl--dark .ecod_dl__price,.ecod_dl--dark .ecod_dl__perks span,.ecod_dl--dark .ecod_dl__fico{background:#ffffff0a;border-color:#ffffff14}.ecod_dl--dark .ecod_dl__dash{background:#ffffff14}@media(max-width:680px){.ecod_dl__file{flex-wrap:wrap}.ecod_dl__fact{width:100%;justify-content:space-between;padding-left:46px}.ecod_dl__prev{grid-template-columns:minmax(0,1fr)}.ecod_dl__shot{aspect-ratio:16 / 9}.ecod_dl__inline{flex-wrap:wrap}.ecod_dl__inline .ecod_dl__fmain{flex:1 1 calc(100% - 46px)}.ecod_dl__inline .ecod_dl__cta,.ecod_dl__inline .ecod_dl__code{margin-left:auto}.ecod_dl__panbox{padding:var(--ecod-card-pad)}}}
