.aff-gen{container-type:inline-size;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#3a3a3a;font-size:16px;line-height:1.5}
.aff-gen *,.aff-gen *::before,.aff-gen *::after{box-sizing:border-box}
.aff-gen [hidden]{display:none!important}
.aff-gen a{color:#1e73be}
.aff-gen :focus-visible{outline:3px solid #1e73be;outline-offset:2px}
.aff-gen button,.aff-gen select{font:inherit}
.aff-gen h2,.aff-gen p,.aff-gen ol,.aff-gen ul,.aff-gen figure,.aff-gen fieldset{margin:0;padding:0}
.aff-gen ol,.aff-gen ul{list-style:none}

.aff-gen__sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.aff-gen__top{display:flex;align-items:stretch;gap:12px}
.aff-gen__primary{flex:1;min-height:44px;padding:10px 14px;border:0;border-radius:6px;background:#1e73be;color:#fff;font-size:17px;font-weight:600;cursor:pointer}
.aff-gen__count{position:relative;display:flex;align-items:center;flex:0 0 auto;min-height:44px}
.aff-gen__count-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.aff-gen__count select{min-height:44px;padding:0 10px;border:1px solid #8a8a8a;border-radius:6px;background:#fff;color:#3a3a3a}
.aff-gen__check{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;cursor:pointer}
.aff-gen__check input{width:20px;height:20px;margin:0;accent-color:#1e73be}

.aff-gen__chips-wrap{position:relative;margin-top:12px}
.aff-gen__chips-wrap::after{content:"";position:absolute;top:0;right:0;bottom:6px;width:40px;background:linear-gradient(to right,rgba(255,255,255,0),#fff);pointer-events:none}
.aff-gen__filter{min-width:0;margin:0;border:0}
.aff-gen__chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:none}
.aff-gen__chips::-webkit-scrollbar{display:none}
.aff-gen__chip{position:relative;flex:0 0 auto;cursor:pointer}
.aff-gen__chip input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.aff-gen__chip span{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 14px;border:1px solid #8a8a8a;border-radius:20px;background:#fff;font-size:15px;white-space:nowrap}
.aff-gen__chip b{font-weight:400;color:#555}
.aff-gen__chip input:checked+span{border-color:#3a3a3a;background:#3a3a3a;color:#fff}
.aff-gen__chip input:checked+span b{color:#e6e6e6}
.aff-gen__chip input:focus-visible+span{outline:3px solid #1e73be;outline-offset:2px}

.aff-gen__note{min-height:24px;margin-top:10px;color:#555;font-size:15px}
.aff-gen__empty{padding:24px 0;color:#555}

.aff-gen__result{margin-top:12px}
.aff-gen__result>*{animation:aff-gen-in .18s ease-out}
@keyframes aff-gen-in{from{opacity:0}to{opacity:1}}

.aff-gen__card{border:1px solid #dcdcdc;border-radius:8px;background:#fff;overflow:hidden}
.aff-gen__card--single{display:grid;grid-template-columns:1fr}
.aff-gen__photo{aspect-ratio:4/3;background:#f0f0f0}
.aff-gen__photo img{display:block;width:100%;height:100%;object-fit:cover}
.aff-gen__head{padding:16px 18px 12px}
.aff-gen__body{padding:0 18px 20px}
.aff-gen__body>p+p{margin-top:8px}
.aff-gen__name{min-height:34px;font-size:28px;font-weight:700;line-height:1.2}
.aff-gen__sci{min-height:24px;color:#555;font-size:17px}
.aff-gen__class{min-height:22px;color:#555;font-size:15px}
.aff-gen__status{min-height:24px;margin-top:12px;font-weight:600}
.aff-gen__scale{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:6px}
.aff-gen__cell{display:flex;align-items:center;justify-content:center;height:36px;border-radius:4px;background:#f0f0f0;color:#6b6b6b;font-size:14px;font-weight:700}
.aff-gen__cell--LC.is-active{background:#2e7d32}
.aff-gen__cell--NT.is-active{background:#5f7d12}
.aff-gen__cell--VU.is-active{background:#a35b00}
.aff-gen__cell--EN.is-active{background:#c0392b}
.aff-gen__cell--CR.is-active{background:#7b1010}
.aff-gen__cell.is-active{outline:3px solid #3a3a3a;outline-offset:2px;color:#fff}

.aff-gen__facts{margin-top:16px;border-top:1px solid #dcdcdc}
.aff-gen__facts li{padding:12px 0;border-bottom:1px solid #dcdcdc}
.aff-gen__facts p{margin:0 0 4px}
.aff-gen__source{font-size:14px}
.aff-gen__credit{margin-top:16px;color:#555;font-size:13px}
.aff-gen__actions{margin-top:14px}
.aff-gen__btn{min-height:44px;padding:8px 16px;border:1px solid #1e73be;border-radius:6px;background:#fff;color:#1e73be;font-weight:600;cursor:pointer}

.aff-gen__grid{display:grid;grid-template-columns:1fr;gap:12px}
.aff-gen__grid>li{border:1px solid #dcdcdc;border-radius:8px;background:#fff;overflow:hidden}
.aff-gen__mini{display:block;width:100%;padding:0;border:0;background:#fff;color:inherit;text-align:left;cursor:pointer}
.aff-gen__mini-credit{padding:0 12px 10px;color:#555;font-size:12px}
.aff-gen__mini img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#f0f0f0}
.aff-gen__mini-name{display:block;padding:10px 12px 0;font-size:17px;font-weight:700}
.aff-gen__mini-sci{display:block;padding:0 12px;color:#555;font-size:15px}
.aff-gen__mini-status{display:block;padding:4px 12px 10px;font-size:14px}

.aff-gen__recent{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:20px}
.aff-gen__recent-label{margin-right:4px;color:#555;font-size:14px}
.aff-gen__recent-list{display:flex;flex-wrap:wrap;gap:8px}
.aff-gen__recent-btn{min-height:44px;padding:4px 12px;border:1px solid #8a8a8a;border-radius:16px;background:#fff;color:#3a3a3a;font-size:14px;cursor:pointer}

@media (min-width:600px){
  .aff-gen__chips{flex-wrap:wrap;overflow:visible}
  .aff-gen__chips-wrap::after{display:none}
  .aff-gen__count-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;margin-right:8px}
}
@container (min-width:560px){
  .aff-gen__grid{grid-template-columns:repeat(2,1fr)}
}
@container (min-width:640px){
  .aff-gen__card--single{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .aff-gen__head{grid-column:2;grid-row:1;align-self:end}
  .aff-gen__photo{grid-column:1;grid-row:1/span 2}
  .aff-gen__body{grid-column:2;grid-row:2}
  .aff-gen__primary{flex:0 0 auto;padding-inline:28px}
}
@container (min-width:820px){
  .aff-gen__grid{grid-template-columns:repeat(3,1fr)}
}
@container (min-width:960px){
  .aff-gen__card--single{grid-template-columns:minmax(0,640px) minmax(0,1fr)}
}
.aff-gen~h3+ul{columns:4 9em;column-gap:24px}
.aff-gen~h3+ul li{break-inside:avoid}
@media (prefers-reduced-motion:reduce){
  .aff-gen__result>*{animation:none}
}
