/* header-css */
header {
    display: inline-flex;
    width: -webkit-fill-available;
    background-color: black;
    padding: 12px 24px;
    justify-content: space-between;
    position: fixed;
    z-index: 1000;
}

#masthead-container.ffplat-app {
    position: fixed;
    top: 0;
    /*width: 100%;*/
    z-index: 2020;
    transform: translateY(0);
    transition: transform .3s cubic-bezier(.05, 0, 0, 1);
}

.header-title {
    color: azure;
    font-size: 2rem;
    font-weight: 600;
    text-decoration: none;
}

.header-nav-title {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

button.menu-toggle {
    vertical-align: middle;
    color: inherit;
    outline: none;
    background: none;
    margin: 0;
    border: none;
    padding: 0;
    width: 100%;
    height: 100%;
    line-height: 0;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
}

ffplat-icon-button.ffplatd-masthead {
    --yt-icon-button-icon-width: 24px;
    --yt-icon-button-icon-height: 24px;
    color: var(--yt-spec-text-primary);
    width: 40px;
    height: 40px;
    padding: 8px;
    margin-right: 8px;
    box-sizing: border-box;
}

ffplat-icon-button {
    display: inline-block;
    position: relative;
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    font-size: 0;
}

.ffplat-icon-container.ffplat-icon, .ffplat-IconWrapperHost.ffplat-icon, ffplat-icon {
    display: inline-flexbox;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    vertical-align: middle;
}


ffplat-icon {
    width: var(--ffplat-icon-button-icon-width, 100%);
    height: var(--ffplat-icon-button-icon-height, 100%);
}

.header-subtitle {
    color: rgb(78, 224, 250);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

account-cycle {
    display: inline-block;
    min-width: 50px;
    height: 50px;
}
.account {
    width: 100%;
    height: 100%;
}
.account-icon {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

/* menu area */
menu {
    display: flex;
    margin-top: 12px;
    gap: 24px;
    padding: 12px;
    margin-top: 4px;
    flex-direction: column;
}

.contents-area {
    width: unset;
}

.contents-area-title {
    display: inline-flex;
    flex-direction: column;
}

a.contents-area-title {
    color: #f1f1f1;
    font-size: 0.7rem;
    font-weight: 400;
    text-decoration: none;
    align-items: center;
}

/* maincontents */
ffplat-mini-guide-renderer.ffplat-app {
    position: fixed;
    left: 0;
    top: 74px;
    bottom: 0;
    width: var(--ffplatd-mini-guide-width);
    box-sizing: border-box;
}

ffplat-page-manager {
    display: flex;
    overflow-x: inherit;
    overflow-y: visible;
    margin-top: 74px;
    margin-left: 80px;
}

.sidebar-contents {
    display: inherit;
    flex-direction: column;
    margin-right: 12px;
    min-width: 62px;
    height: 100%;
    position: fixed;
    background-color: unset;
}

.border-bottom {
    border-bottom: 0.5px;
    border-bottom-color: #fff;
    border-bottom-style: groove;
}

h2.maintenance-info-title {
    display: inline-flex;
    color: coral;
    padding: 12px;
}

ffplat-two-column-browse-results-renderer {
    -webkit-box-flex: 0;
    -webkit-flex: none;
    flex: none;
    margin-bottom: 16px;
    width: 100%;
    display: flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

#primary.ffplat-two-column-browse-results-renderer {
    max-width: 100%;
    min-width: 0;
}

ffplat-rich-grid-renderer {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    --ytd-rich-grid-gutter-margin: 16px;
    --ytd-rich-grid-content-max-width: calc(var(--ytd-rich-grid-items-per-row) * (var(--ytd-rich-grid-item-max-width) + var(--ytd-rich-grid-item-margin)) - var(--ytd-rich-grid-item-margin));
    --ytd-rich-grid-row-margin: 32px;
}

#contents.ffplat-rich-grid-renderer {
    width: calc(100% - var(--ytd-rich-grid-gutter-margin) * 2);
    max-width: calc(var(--ytd-rich-grid-content-max-width) + var(--ytd-rich-grid-item-margin));
    padding-top: 24px;
    margin-left: var(--ytd-rich-grid-gutter-margin);
    margin-right: var(--ytd-rich-grid-gutter-margin);
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
}

ffplat-rich-item-renderer {
    position: relative;
    margin-left: calc(var(--ytd-rich-grid-item-margin) / 2);
    margin-right: calc(var(--ytd-rich-grid-item-margin) / 2);
    margin-bottom: var(--ytd-rich-grid-row-margin);
    width: calc(100% / var(--ytd-rich-grid-items-per-row) - var(--ytd-rich-grid-item-margin));
    --ytd-shorts-rich-grid-width-without-margin: calc(100% - var(--ytd-rich-grid-shorts-item-margin) * (var(--ytd-rich-grid-slim-items-per-row) * 2));
    --ytd-shorts-rich-grid-item-width: calc(var(--ytd-shorts-rich-grid-width-without-margin) / var(--ytd-rich-grid-slim-items-per-row));
    scroll-margin-top: var(--ytd-rich-grid-content-offset-top);
}

ffplat-rich-item-renderer[rendered-from-rich-grid] {
    width: calc(100% / var(--ytd-rich-grid-items-per-row) - var(--ytd-rich-grid-item-margin));
}

ffplat-rich-item-renderer[rendered-from-rich-grid][is-in-first-column] {
    margin-left: calc(var(--ytd-rich-grid-item-margin) / 2);
}

#content.ffplat-rich-item-renderer {
    height: 100%;
    display: flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

#content.ffplat-rich-item-renderer>.lockup.ffplat-rich-item-renderer {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    max-width: 100%;
    width: 100%;
}

.ffplatLockupViewModelWrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.ffplatLockupViewModelHost {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    flex: 1;
    position: relative;
    cursor: pointer;
    min-width: 0;
    -webkit-tap-highlight-color: transparent;
}

.ffplatLockupViewModelVertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    flex-direction: column;
}

.ffplatLockupViewModelFlexNone {
    -webkit-box-flex: 0;
    -webkit-flex: none;
    flex: none;
}

.ffplatLockupViewModelVertical.ytLockupViewModelRichGridLegacyMargin .ffplatLockupViewModelContentImage {
    padding-bottom: 12px;
}

.ffplatLockupViewModelVertical .ffplatLockupViewModelContentImage {
    padding-bottom: 8px;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.ffplatLockupViewModelContentImage {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
    -webkit-flex-direction: inherit;
    flex-direction: inherit;
}


.ffplatThumbnailViewModelLarge {
    border-radius: 12px;
}
.ffplatThumbnailViewModelAspectRatio16By9 {
    padding-top: 56.25%;
}
.ffplatThumbnailViewModelHost {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 0;
}

.ffplatThumbnailViewModelImage {
    position: absolute;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    top: 50%;
    left: 0;
    width: 100%;
    height: 100%;
}

.ffplatThumbnailBottomOverlayViewModelHost {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    -webkit-align-items: flex-end;
    -webkit-box-align: end;
    align-items: flex-end;
    -webkit-justify-content: flex-end;
    -webkit-box-pack: end;
    justify-content: flex-end;
}

/* サムネイル処理 */
.ffplatCoreImageContentModeScaleAspectFill {
    -o-object-fit: cover;
    object-fit: cover;
}

.ffplatCoreImageFillParentWidth {
    width: 100%;
}
.ffplatCoreImageFillParentHeight {
    height: 100%;
}
.ffplatCoreImageLoaded {
    visibility: inherit;
}
.ffplatCoreImageHost {
    /*visibility: hidden;*/
    display: inline-block;
    min-height: 1px;
    min-width: 1px;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
    header {
        padding: 8px 12px;
    }

    ffplat-page-manager {
        margin-left: 0;
    }
    
    .sidebar-contents {
        position: absolute;
        display: inline-flex;
        flex-direction: column;
        padding: 4px;
        margin-right: 6px;
        min-width: 220px;
        border-right: 0;
        height: 100%;
        z-index: 900;
        margin-left: -250px;
        align-items: center;
    }
}