:root{
    --ng-adult-tool-line:#d8d8d8;
}

.ng-adult-filter-tools{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:10px;
    margin:0 0 14px;
    padding:0 0 14px;
    border-bottom:1px solid var(--ng-adult-line,#e9e9ee);
}

.ng-adult-filter-tools__button{
    display:inline-flex;
    min-width:0;
    min-height:48px;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:10px 12px;
    border:1px solid var(--ng-adult-tool-line);
    border-radius:16px;
    background:#fff;
    color:#111;
    font:inherit;
    font-size:.92rem;
    font-weight:800;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
}

.ng-adult-filter-tools__button:hover,
.ng-adult-filter-tools__button:focus-visible{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    outline:none;
}

.ng-adult-filter-tools__icon{
    flex:0 0 20px;
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ng-adult-alpha-modal[hidden]{display:none!important}
.ng-adult-alpha-modal{
    position:fixed;
    inset:0;
    z-index:1400;
    display:grid;
    place-items:center;
    padding:18px;
}

.ng-adult-alpha-modal__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(0,0,0,.48);
}

.ng-adult-alpha-modal__panel{
    position:relative;
    z-index:1;
    width:min(92vw,430px);
    max-height:min(82vh,560px);
    overflow:hidden;
    border:1px solid #ddd;
    border-radius:22px;
    background:#fff;
    box-shadow:0 20px 55px rgba(0,0,0,.24);
}

.ng-adult-alpha-modal__header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 16px 10px;
    border-bottom:1px solid #eee;
}

.ng-adult-alpha-modal__title{
    margin:0;
    color:#111;
    font-size:1.05rem;
    font-weight:850;
    line-height:1.2;
}

.ng-adult-alpha-modal__close{
    display:inline-flex;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#f4f4f4;
    color:#111;
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
}

.ng-adult-alpha-modal__grid{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:8px;
    padding:14px;
    overflow-y:auto;
    overscroll-behavior:contain;
}

.ng-adult-alpha-modal__cell{
    display:flex;
    aspect-ratio:1/1;
    min-width:0;
    align-items:center;
    justify-content:center;
    border:1px solid #dedede;
    border-radius:10px;
    background:#fff;
    color:#111;
    font-size:1rem;
    font-weight:850;
    line-height:1;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
}

.ng-adult-alpha-modal__cell:hover,
.ng-adult-alpha-modal__cell:focus-visible{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    outline:none;
}

.ng-adult-alpha-modal-open{overflow:hidden}

.ng-adult-search-form{
    margin:0 0 12px;
}

.ng-adult-search-form__label{
    display:block;
    margin:0 0 7px;
    color:#111;
    font-size:.95rem;
    font-weight:800;
}

.ng-adult-search-form__row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
}

.ng-adult-search-form__input{
    width:100%;
    min-width:0;
    min-height:50px;
    padding:11px 14px;
    border:1px solid #d7d7dc;
    border-radius:14px;
    background:#fff;
    color:#111;
    font:inherit;
    font-size:16px;
    outline:none;
}

.ng-adult-search-form__input:focus{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    box-shadow:0 0 0 3px rgba(230,0,92,.10);
}

.ng-adult-search-form__submit{
    display:inline-flex;
    min-height:50px;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:10px 15px;
    border:0;
    border-radius:14px;
    background:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:#fff;
    font:inherit;
    font-size:16px;
    font-weight:850;
    cursor:pointer;
}

.ng-adult-search-form__submit svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
}

.ng-adult-search-page__back{
    margin:10px 0 18px;
}

.ng-adult-search-page__back a{
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    font-weight:800;
    text-decoration:none;
}

.ng-adult-search-hint{
    padding:22px 0;
    color:var(--ng-adult-muted,#6d6d73);
}

.ng-adult-search-results{
    padding-top:8px;
}

.ng-adult-search-results>h2{
    margin:0 0 10px;
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    font-size:1.35rem;
    line-height:1.2;
}

@media(max-width:390px){
    .ng-adult-filter-tools{gap:8px}
    .ng-adult-filter-tools__button{
        gap:6px;
        padding-inline:9px;
        font-size:.86rem;
    }
    .ng-adult-filter-tools__icon{
        flex-basis:18px;
        width:18px;
        height:18px;
    }
    .ng-adult-alpha-modal{padding:12px}
    .ng-adult-alpha-modal__grid{gap:7px;padding:12px}
    .ng-adult-search-form__submit span{display:none}
    .ng-adult-search-form__submit{width:50px;padding:0}
}

@media(min-width:768px){
    .ng-adult-filter-tools{
        max-width:620px;
        margin-inline:auto;
        margin-bottom:18px;
    }
    .ng-adult-alpha-modal__grid{
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}


.ng-adult-float-tools[hidden]{
    display:none!important;
}

.ng-adult-float-tools{
    position:fixed;
    right:14px;
    bottom:calc(94px + env(safe-area-inset-bottom, 0px));
    z-index:1150;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    opacity:0;
    transform:translateY(10px);
    pointer-events:none;
    transition:opacity .18s ease, transform .18s ease;
}

.ng-adult-float-tools.is-visible{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
}

.ng-adult-float-tools__button{
    display:inline-flex;
    width:48px;
    height:48px;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,0,0,.12);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:#111;
    box-shadow:0 5px 18px rgba(0,0,0,.16);
    font:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    backdrop-filter:blur(8px);
}

.ng-adult-float-tools__button:hover,
.ng-adult-float-tools__button:focus-visible{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    outline:none;
}

.ng-adult-float-tools__button--abc span{
    font-size:.78rem;
    font-weight:900;
    letter-spacing:-.03em;
}

.ng-adult-float-tools__button--top svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

@media(max-width:390px){
    .ng-adult-float-tools{
        right:10px;
        bottom:calc(88px + env(safe-area-inset-bottom, 0px));
        gap:9px;
    }

    .ng-adult-float-tools__button{
        width:46px;
        height:46px;
    }
}

@media(prefers-reduced-motion:reduce){
    .ng-adult-float-tools{
        transition:none;
    }
}


/* Quick filters: exactly two rows, two equal columns. */
.ng-adult-quick-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin:0 0 16px;
    padding:0 0 14px;
    border-bottom:1px solid var(--ng-adult-line,#e9e9ee);
}

.ng-adult-quick-tabs__item{
    display:flex;
    min-width:0;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:9px 10px;
    border:1px solid #d8d8d8;
    border-radius:13px;
    background:#fff;
    color:#111;
    font-size:.9rem;
    font-weight:850;
    line-height:1.15;
    text-align:center;
    text-decoration:none;
    -webkit-tap-highlight-color:transparent;
}

.ng-adult-quick-tabs__item:hover,
.ng-adult-quick-tabs__item:focus-visible{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    outline:none;
}

.ng-adult-quick-tabs__item.is-active{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    background:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    color:#fff;
}

@media(max-width:390px){
    .ng-adult-quick-tabs{
        gap:7px;
    }

    .ng-adult-quick-tabs__item{
        min-height:42px;
        padding-inline:7px;
        font-size:.85rem;
    }
}


.ng-adult-quick-count{
    color:var(--ng-adult-muted,#6d6d73);
    font-size:.72em;
    font-weight:750;
}


/* Adult live-search modal */
.ng-adult-live-search-modal[hidden]{
    display:none!important;
}

.ng-adult-live-search-modal{
    position:fixed;
    inset:0;
    z-index:1460;
    display:grid;
    place-items:center;
    padding:14px;
}

.ng-adult-live-search-modal__backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    background:rgba(0,0,0,.52);
}

.ng-adult-live-search-modal__panel{
    position:relative;
    z-index:1;
    display:flex;
    width:min(94vw,560px);
    max-height:min(88vh,720px);
    flex-direction:column;
    overflow:hidden;
    border:1px solid #dedee2;
    border-radius:22px;
    background:#fff;
    box-shadow:0 22px 65px rgba(0,0,0,.28);
}

.ng-adult-live-search-modal__header{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px 10px;
}

.ng-adult-live-search-modal__header h2{
    margin:0;
    color:#111;
    font-size:1.12rem;
    font-weight:900;
    line-height:1.2;
}

.ng-adult-live-search-modal__close{
    display:inline-flex;
    flex:0 0 38px;
    width:38px;
    height:38px;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#f3f3f5;
    color:#111;
    font:inherit;
    font-size:1.7rem;
    line-height:1;
    cursor:pointer;
}

.ng-adult-live-search-modal__search{
    position:relative;
    flex:0 0 auto;
    margin:0 14px;
}

.ng-adult-live-search-modal__search>svg{
    position:absolute;
    top:50%;
    left:14px;
    width:21px;
    height:21px;
    transform:translateY(-50%);
    fill:none;
    stroke:#6d6d73;
    stroke-width:2.1;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}

.ng-adult-live-search-modal__input{
    width:100%;
    min-height:52px;
    padding:11px 48px 11px 44px;
    border:1px solid #d5d5da;
    border-radius:15px;
    background:#fff;
    color:#111;
    font:inherit;
    font-size:16px;
    outline:none;
}

.ng-adult-live-search-modal__input:focus{
    border-color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    box-shadow:0 0 0 3px rgba(230,0,92,.10);
}

.ng-adult-live-search-modal__clear{
    position:absolute;
    top:50%;
    right:8px;
    display:inline-flex;
    width:36px;
    height:36px;
    transform:translateY(-50%);
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:50%;
    background:#f1f1f3;
    color:#555;
    font:inherit;
    font-size:1.35rem;
    line-height:1;
    cursor:pointer;
}

.ng-adult-live-search-modal__clear[hidden]{
    display:none!important;
}

.ng-adult-live-search-modal__status{
    flex:0 0 auto;
    margin:10px 16px 6px;
    color:#6d6d73;
    font-size:.88rem;
    font-weight:700;
}

.ng-adult-live-search-modal__results{
    min-height:0;
    padding:0 14px 16px;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
}

.ng-adult-live-search-result{
    padding:13px 0;
    border-bottom:1px solid #ededf0;
}

.ng-adult-live-search-result:last-child{
    border-bottom:0;
}

.ng-adult-live-search-result__title{
    display:block;
    color:#111;
    font-size:1rem;
    font-weight:850;
    line-height:1.28;
    text-decoration:none;
}

.ng-adult-live-search-result__title:hover,
.ng-adult-live-search-result__title:focus-visible{
    color:var(--ng-adult-pink,var(--ng-accent,#e6005c));
    outline:none;
}

.ng-adult-live-search-result__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 14px;
    margin-top:6px;
    color:#707077;
    font-size:.84rem;
    font-weight:700;
}

.ng-adult-live-search-result__views{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.ng-adult-live-search-result__views svg{
    width:18px;
    height:18px;
    fill:currentColor;
}

.ng-adult-live-search-modal__empty{
    margin:0;
    padding:24px 2px;
    color:#6d6d73;
    font-size:.95rem;
}

body.ng-adult-live-search-open{
    overflow:hidden;
}

@media(max-width:390px){
    .ng-adult-live-search-modal{
        padding:8px;
    }

    .ng-adult-live-search-modal__panel{
        width:calc(100vw - 16px);
        max-height:90vh;
        border-radius:18px;
    }

    .ng-adult-live-search-modal__header{
        padding-inline:13px;
    }

    .ng-adult-live-search-modal__search{
        margin-inline:12px;
    }

    .ng-adult-live-search-modal__status{
        margin-inline:14px;
    }

    .ng-adult-live-search-modal__results{
        padding-inline:12px;
    }
}
