/* AnimeFLV - library module (saved anime, statuses, saved episodes, studios, history). */

/* ---- Save dropdown (anime page) ---- */
.ListAnmBnts.afl-lib-favbtns>li{width:100%;float:none}
.afl-save{position:relative;margin-bottom:10px}
.afl-save .afl-save__btn{width:100%;margin:0;border:0;text-align:left;cursor:pointer;height:auto;line-height:12px;font-weight:400;padding-right:36px;background-color:#fff;color:#000}
.afl-save .afl-save__btn:hover,.afl-save .afl-save__btn:focus{background-color:#fff;color:#01bcf3}
.afl-save .afl-save__btn:before{box-shadow:inset 0 0 0 1px #01bcf3;color:#01bcf3;margin-right:0}
.afl-save .afl-save__btn:after{content:'\f107';font-family:FontAwesome;position:absolute;right:15px;top:50%;margin-top:-8px;line-height:16px;font-size:16px;color:#8f9aa5;transition:transform .2s}
.afl-save.is-open .afl-save__btn:after{transform:rotate(180deg)}
.afl-save .afl-save__label{display:block;font-style:normal;color:#8f9aa5;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afl-save.is-saved .afl-save__btn:before{box-shadow:none;background-color:#01bcf3;color:#fff}
.afl-save[data-status="completed"] .afl-save__btn:before{background-color:#00c853}
.afl-save[data-status="pending"] .afl-save__btn:before{background-color:#ffc107}
.afl-save[data-status="dropped"] .afl-save__btn:before{background-color:#78909c}
.afl-save.is-saved .afl-save__label{color:#01bcf3;font-weight:700}

.afl-save__menu{position:absolute;left:0;right:0;top:100%;z-index:40;margin:4px 0 0;padding:5px 0;list-style:none;background-color:#fff;border-radius:5px;box-shadow:0 5px 25px rgba(0,0,0,.25)}
.afl-save__menu[hidden]{display:none!important}
.afl-save__menu li{margin:0;padding:0}
.afl-save__menu button{display:block;width:100%;height:auto;margin:0;padding:9px 15px;border:0;border-radius:0;background:none;color:#37474f;font-size:13px;line-height:18px;font-weight:400;text-align:left;text-transform:none;cursor:pointer}
.afl-save__menu button:before{width:18px;text-align:center;margin-right:8px;color:#8f9aa5}
.afl-save__menu button:hover,.afl-save__menu button:focus{background-color:rgba(1,188,242,.1);color:#01bcf3;outline:0}
.afl-save__menu button[aria-checked="true"]{color:#01bcf3;font-weight:700}
.afl-save__menu button[aria-checked="true"]:before{color:#01bcf3}
.afl-save__menu button[data-status="none"]{border-top:1px solid #eceff1;color:#ff3146}
.afl-save__menu button[data-status="none"]:before{color:#ff3146}
.afl-save-pop{right:auto;width:190px;margin:0}

/* ---- Save icon (poster cards) ---- */
.afl-save-icon{display:inline-block;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:16px;background-color:rgba(0,0,0,.65);color:#fff;font-size:14px;line-height:32px;text-align:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:background-color .2s}
.afl-save-icon:before{margin:0;line-height:32px}
.afl-save-icon:hover,.afl-save-icon:focus{background-color:#01bcf3;color:#fff}
.afl-save-icon.is-saved{background-color:#01bcf3}
.afl-save-icon[data-status="completed"]{background-color:#00c853}
.afl-save-icon[data-status="pending"]{background-color:#ffc107}
.afl-save-icon[data-status="dropped"]{background-color:#78909c}

/* ---- Studios line on the anime sidebar ---- */
.afl-lib-studios-line{margin:0 0 15px;font-size:12px;line-height:20px;color:#8f9aa5}
.afl-lib-studios-line:before{color:#01bcf3;margin-right:6px}
.afl-lib-studios-line strong{color:#37474f;margin-right:4px}
.afl-lib-studios-line a{color:#01bcf3;font-weight:700}
.afl-lib-studios-line a:hover{text-decoration:underline}

/* ---- Episode page button ---- */
/* Icon-only round buttons of the options row (same box as .CVst/.Clgt/.Xpnd). Shared by playlists.css. */
.BtnNw.afl-epbtn{padding:0;width:40px;height:40px;text-align:center;line-height:40px;font-size:15px;color:#14bbf0;border-radius:20px;white-space:nowrap;cursor:pointer;transition:background-color .2s,color .2s}
.BtnNw.afl-epbtn:before{position:static;width:inherit;height:inherit;line-height:inherit;border-radius:20px}
.BtnNw.afl-epbtn:hover,.BtnNw.afl-epbtn:focus{color:#01bcf3;outline:0}
.BtnNw.afl-epbtn:focus-visible{box-shadow:0 0 0 2px #01bcf3}
.CapOptns .afl-lib-epsave.is-saved{background-color:#01bcf3;color:#fff}
.CapOptns .afl-lib-epsave.is-saved:hover{background-color:#00a5d6;color:#fff}

/* ---- Profile card actions (completed / dropped) ---- */
a.Vstd,a.Drpd{color:#fff;width:30px;height:30px;line-height:30px;text-align:center;position:absolute;right:-5px;top:-5px;z-index:3;border-radius:15px}
a.Vstd:before,a.Drpd:before{margin-right:0}
a.Vstd{background-color:#00c853}
a.Drpd{background-color:#78909c}
a.Vstd:hover,a.Drpd:hover{color:#fff;background-color:#ff3146}
a.Vstd:hover:before,a.Drpd:hover:before{content:'\f00d'}

/* ---- Saved panel ---- */
.afl-lib-toprow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px;margin-bottom:15px}
.afl-lib-heading{margin:0;font-size:20px;font-weight:700;line-height:30px;letter-spacing:-1px;flex:1 1 auto;min-width:0}
.afl-lib-toprow .Button{margin:0;white-space:nowrap}
.afl-lib-toprow .Button:before{margin-right:6px}
.afl-lib-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin:0 0 12px}
.afl-lib-field{display:flex;flex-direction:column;flex:1 1 140px;min-width:0;margin:0;font-size:11px;font-weight:700;color:#8f9aa5;text-transform:uppercase}
.afl-lib-field--sm{flex-basis:90px}
.afl-lib-field span{margin-bottom:4px}
.afl-lib-field select{width:100%;height:34px;padding:0 8px;border:1px solid #dfe4e8;border-radius:5px;background-color:#fff;color:#37474f;font-size:13px;font-weight:400;text-transform:none}
.afl-lib-filter-btn{height:34px;padding:0 18px;border-radius:5px;flex:0 0 auto}
.afl-lib-filter-btn:before{margin-right:6px}
.afl-lib-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px}
.afl-lib-tools .Button{margin:0}
.afl-lib-tools .Button:before{margin-right:6px}
.afl-lib-sort-hint{font-size:12px;color:#8f9aa5}
.afl-lib-backup{position:relative}
.afl-lib-backup__menu{position:absolute;left:0;top:100%;z-index:40;margin-top:6px;width:260px;max-width:calc(100vw - 40px);padding:8px 0;background-color:#fff;border-radius:5px;box-shadow:0 5px 25px rgba(0,0,0,.25)}
.afl-lib-backup__menu[hidden]{display:none!important}
.afl-lib-backup__menu>a{display:block;padding:8px 15px;color:#37474f;font-size:13px}
.afl-lib-backup__menu>a:hover{background-color:rgba(1,188,242,.1);color:#01bcf3}
.afl-lib-backup__menu>a:before{width:18px;text-align:center;margin-right:8px;color:#01bcf3}
.afl-lib-import{margin:6px 0 0;padding:10px 15px 4px;border-top:1px solid #eceff1;display:flex;flex-direction:column;gap:8px;font-size:13px}
.afl-lib-import strong:before{color:#01bcf3;margin-right:8px}
.afl-lib-import input[type=file]{max-width:100%;font-size:12px}
.afl-lib-import select{height:32px;border:1px solid #dfe4e8;border-radius:5px;padding:0 6px;background:#fff;font-size:12px}
.afl-lib-import .btn{align-self:flex-start}

.afl-lib-pills{display:flex;flex-wrap:nowrap;gap:8px;margin:0 0 20px;padding:0 0 6px;list-style:none;overflow-x:auto;-webkit-overflow-scrolling:touch}
.afl-lib-pills li{flex:0 0 auto;margin:0;padding:0}
.afl-lib-pills a{display:inline-block;padding:0 14px;border-radius:20px;background-color:rgba(1,188,242,.1);color:#01bcf2;font-size:12px;font-weight:700;line-height:32px;white-space:nowrap;transition:.2s}
.afl-lib-pills a:before{margin-right:6px}
.afl-lib-pills a:hover{background-color:rgba(1,188,242,.2)}
.afl-lib-pills a.is-active{background-color:#01bcf2;color:#fff}
.afl-lib-pill__count{display:inline-block;min-width:20px;margin-left:4px;padding:0 6px;border-radius:10px;background-color:rgba(255,255,255,.7);color:#01bcf2;font-size:11px;line-height:18px;text-align:center}
.afl-lib-pills a.is-active .afl-lib-pill__count{background-color:rgba(0,0,0,.15);color:#fff}

.afl-lib-saved.is-loading .afl-lib-grid{opacity:.5;pointer-events:none}
.afl-lib-item{position:relative}
.afl-lib-card-tools{position:absolute;top:6px;right:16px;z-index:5;display:flex;flex-direction:column;gap:6px}
.afl-lib-sort{display:none!important;width:32px;height:32px;margin:0;padding:0;border:0;border-radius:16px;background-color:#fff;color:#37474f;font-size:13px;line-height:32px;text-align:center;box-shadow:0 2px 6px rgba(0,0,0,.3);cursor:pointer}
.afl-lib-sort:before{margin:0;line-height:32px}
.afl-lib-sort:hover,.afl-lib-sort:focus{background-color:#01bcf3;color:#fff}
.afl-lib-handle{cursor:grab;touch-action:none}
.is-sorting .afl-lib-sort{display:inline-block!important}
.is-sorting .afl-lib-item .Image{outline:2px dashed rgba(1,188,242,.6);outline-offset:-2px}
.is-sorting .afl-lib-item .Description{display:none!important}
.afl-lib-item:first-child .afl-lib-move[data-afl-move="up"],.afl-lib-item:last-child .afl-lib-move[data-afl-move="down"]{opacity:.4}
.afl-lib-empty{margin:10px 0 20px;padding:15px;border-radius:5px;background-color:rgba(1,188,242,.08);color:#546e7a;font-size:13px;line-height:20px}
.afl-lib-empty[hidden]{display:none!important}
.afl-lib-more[hidden]{display:none!important}

/* ---- Episode rows (saved episodes, history) ---- */
.afl-lib-eplist,.afl-lib-history{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin:0 0 15px;padding:0;list-style:none}
.afl-lib-ep{position:relative;display:flex;align-items:center;gap:12px;margin:0;padding:8px 40px 8px 8px;border-radius:5px;background-color:#f5f7f8;min-width:0}
.afl-lib-ep__thumb{flex:0 0 110px;display:block;border-radius:4px;overflow:hidden;background-color:#263238;aspect-ratio:16/9}
.afl-lib-ep__thumb img{display:block;width:100%;height:100%;object-fit:cover}
.afl-lib-ep__body{display:flex;flex-direction:column;min-width:0;gap:2px;font-size:12px;line-height:17px}
.afl-lib-ep__anime{color:#000;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afl-lib-ep__anime:hover,.afl-lib-ep__num{color:#01bcf3}
.afl-lib-ep__date{color:#8f9aa5;font-size:11px}
.afl-lib-ep__date:before{margin-right:4px}
.afl-lib-ep__remove{position:absolute;top:50%;right:8px;width:26px;height:26px;margin:-13px 0 0;padding:0;border:0;border-radius:13px;background-color:transparent;color:#8f9aa5;font-size:13px;line-height:26px;text-align:center;cursor:pointer}
.afl-lib-ep__remove:before{margin:0;line-height:26px}
.afl-lib-ep__remove:hover,.afl-lib-ep__remove:focus{background-color:#ff3146;color:#fff}

/* ---- Favorite studios ---- */
.afl-lib-studios{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin:0 0 15px;padding:0;list-style:none}
.afl-lib-studio{position:relative;display:flex;flex-direction:column;margin:0;padding:12px 40px 12px 14px;border-radius:5px;background-color:#f5f7f8;min-width:0}
.afl-lib-studio__name{color:#000;font-weight:700;font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afl-lib-studio__name:before{color:#01bcf3;margin-right:8px}
.afl-lib-studio__name:hover{color:#01bcf3}
.afl-lib-studio__count{color:#8f9aa5;font-size:12px;padding-left:23px}
.afl-lib-studio .afl-lib-studio__remove{position:absolute;top:50%;right:8px;width:26px;height:26px;margin:-13px 0 0;padding:0;border:0;border-radius:13px;background:transparent;color:#8f9aa5;font-size:13px;line-height:26px;text-align:center;cursor:pointer}
.afl-lib-studio__remove:before{margin:0;line-height:26px}
.afl-lib-studio .afl-lib-studio__remove:hover{background-color:#ff3146;color:#fff}
.afl-lib-studios-box .Top .Title span{color:#01bcf3}

/* ---- Studio archive ---- */
.afl-lib-studio-card{text-align:center}
.afl-lib-studio-card__icon{display:inline-block;width:70px;height:70px;border-radius:35px;background-color:rgba(1,188,242,.1);color:#01bcf3;font-size:30px;line-height:70px}
.afl-lib-studio-card__icon:before{margin:0;line-height:70px}
.afl-lib-studio-card__name{margin:12px 0 2px;font-size:20px;font-weight:700;line-height:26px;word-wrap:break-word}
.afl-lib-studio-card__count{margin:0 0 15px;color:#8f9aa5;font-size:13px}
.afl-lib-studio-card__desc{margin-top:10px;font-size:13px;color:#546e7a;text-align:left}
.afl-lib-studio-fav{width:100%;border:0;cursor:pointer;height:auto;text-align:left;line-height:24px;font-weight:400;color:#000;background-color:#fff}
.afl-lib-studio-fav:hover,.afl-lib-studio-fav:focus{background-color:#fff;color:#ffa000}
.afl-lib-studio-fav:before{box-shadow:inset 0 0 0 1px #ffc107;color:#ffc107}
.afl-lib-studio-fav.is-on:before{box-shadow:none;background-color:#ffc107;color:#fff}

/* ---- History page ---- */
.afl-lib-history-box .Top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.afl-lib-history-box .Top .Title span{color:#01bcf3}
.afl-lib-history-box .Top .Button{position:static;margin:0}
.afl-lib-history-box .Top .Button:before{margin-right:6px}
.afl-lib-continue{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin:0;padding:0;list-style:none}
.afl-lib-cw{display:flex;gap:12px;margin:0;padding:10px;border-radius:5px;background-color:#f5f7f8;min-width:0}
.afl-lib-cw__img{position:relative;flex:0 0 80px;display:block;border-radius:4px;overflow:hidden;background-color:#263238;aspect-ratio:2/3}
.afl-lib-cw__img img{display:block;width:100%;height:100%;object-fit:cover}
.afl-lib-cw__img span{position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px 0 0 -16px;border-radius:16px;background-color:rgba(1,188,243,.9);color:#fff;font-size:12px;line-height:32px;text-align:center;opacity:0;transition:opacity .2s}
.afl-lib-cw__img span:before{margin:0 0 0 2px;line-height:32px}
.afl-lib-cw__img:hover span{opacity:1}
.afl-lib-cw__body{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.afl-lib-cw__title{color:#000;font-weight:700;font-size:14px;line-height:19px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.afl-lib-cw__title:hover{color:#01bcf3}
.afl-lib-cw__meta{color:#8f9aa5;font-size:12px;line-height:17px}
.afl-lib-cw__btn{margin-top:auto;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.afl-lib-cw__btn:before{margin-right:6px}
.afl-lib-signin p{margin:0 0 15px;color:#546e7a}
.afl-lib-signin .Button:before{margin-right:6px}
.afl-lib-signin .Title:before{color:#01bcf3}

@media all and (max-width:767px){
	.afl-lib-heading{font-size:17px;flex-basis:100%}
	.afl-lib-field{flex-basis:calc(50% - 5px)}
	.afl-lib-field--sm{flex-basis:calc(50% - 5px)}
	.afl-lib-filter-btn{flex:1 1 100%}
	.afl-lib-card-tools{right:12px}
}
@media all and (max-width:480px){
	.afl-lib-ep__thumb{flex-basis:88px}
	.afl-lib-cw__img{flex-basis:64px}
}
