@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=PT+Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap"); @tailwind base; @tailwind components; @tailwind utilities; html, body { font-family: "Lato", sans-serif !important; @apply bg-background-main !important; @apply font-main text-type-text; min-height: 100vh; min-height: 100dvh; font-size: 1.0248em; /* Use clip instead of hidden so position:sticky still works (e.g. Settings sidebar) */ overflow-x: clip; } html[data-full], html[data-full] body { overscroll-behavior-y: none; } body[data-no-scroll] { overflow-y: hidden; height: 100vh; } #root { padding: 0.05px; min-height: 100vh; min-height: 100dvh; width: 100%; } body[data-no-select] { user-select: none; } html[data-no-scroll], html[data-no-scroll] body { overflow: hidden; } .top-content { padding-top: calc(env(safe-area-inset-top) - 20px); } .roll { animation: roll 1s; } .roll-infinite { animation: roll 2s infinite; } @keyframes roll { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .line-clamp { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } .google-cast-button:not(.casting) google-cast-launcher { @apply brightness-[500]; } .is-mobile-view .overflow-y-auto { height: 60vh; } .h-screen { height: 100vh; height: 100dvh; } .min-h-screen { min-height: 100vh; min-height: 100dvh; } /*generated with Input range slider CSS style generator (version 20211225) https://toughengineer.github.io/demo/slider-styler*/ :root { --slider-height: 0.25rem; --slider-border-radius: 1em; --slider-progress-background: #8652bb; } input[type="range"].styled-slider { height: var(--slider-height); -webkit-appearance: none; appearance: none; border-radius: var(--slider-border-radius); background: #1c161b; } /*progress support*/ input[type="range"].styled-slider.slider-progress { --range: calc(var(--max) - var(--min)); --ratio: calc((var(--value) - var(--min)) / var(--range)); --sx: calc(0.5 * 1rem + var(--ratio) * (100% - 1rem)); } /*webkit*/ input[type="range"].styled-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 1rem; height: 1rem; border-radius: var(--slider-border-radius); background: #ffffff; border: none; box-shadow: 0 0 2px #000000; margin-top: calc(0.25em * 0.5 - 1rem * 0.5); } input[type="range"].styled-slider::-webkit-slider-runnable-track { height: var(--slider-height); border: none; box-shadow: none; border-radius: var(--slider-border-radius); } input[type="range"].styled-slider::-webkit-slider-thumb:hover { background: #dcdcdc; } input[type="range"].styled-slider.slider-progress::-webkit-slider-runnable-track { background: linear-gradient( var(--slider-progress-background), var(--slider-progress-background) ) 0 / var(--sx) 100% no-repeat, #1c161b; } /*mozilla*/ input[type="range"].styled-slider::-moz-range-thumb { width: 1rem; height: 1rem; border-radius: var(--slider-border-radius); background: #ffffff; border: none; box-shadow: 0 0 2px #000000; } input[type="range"].styled-slider::-moz-range-track { height: var(--slider-height); border: none; border-radius: var(--slider-border-radius); background: #1c161b; box-shadow: none; } input[type="range"].styled-slider::-moz-range-thumb:hover { background: #dcdcdc; } input[type="range"].styled-slider.slider-progress::-moz-range-track { background: linear-gradient( var(--slider-progress-background), var(--slider-progress-background) ) 0 / var(--sx) 100% no-repeat, #1c161b; } /*ms*/ input[type="range"].styled-slider::-ms-fill-upper { background: transparent; border-color: transparent; } input[type="range"].styled-slider::-ms-fill-lower { background: transparent; border-color: transparent; } input[type="range"].styled-slider::-ms-thumb { width: 1rem; height: 1rem; border-radius: var(--slider-border-radius); background: #ffffff; border: none; box-shadow: 0 0 2px #000000; margin-top: 0; box-sizing: border-box; } input[type="range"].styled-slider::-ms-track { height: var(--slider-height); border-radius: var(--slider-border-radius); background: #1c161b; border: none; box-shadow: none; box-sizing: border-box; } input[type="range"].styled-slider::-ms-thumb:hover { background: #dcdcdc; } input[type="range"].styled-slider.slider-progress::-ms-fill-lower { height: var(--slider-height); border-radius: var(--slider-border-radius) 0 0 5px; margin: -undefined 0 -undefined -undefined; background: var(--slider-progress-background); border: none; border-right-width: 0; } /* Modern thin rounded scrollbar */ * { scrollbar-width: thin; scrollbar-color: theme("colors.video.context.border") transparent; } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: transparent; border-radius: 10px; } ::-webkit-scrollbar-thumb { background-color: theme("colors.video.context.border"); border-radius: 10px; transition: background-color 0.2s ease; } ::-webkit-scrollbar-thumb:hover { background-color: rgba(134, 82, 187, 0.8); } ::-webkit-scrollbar-thumb:active { background-color: rgba(134, 82, 187, 1); } ::-webkit-scrollbar-corner { background: transparent; } .grecaptcha-badge { display: none !important; } .tabbable:focus-visible { outline: 2px solid theme("colors.themePreview.primary"); box-shadow: 0 0 10px theme("colors.themePreview.secondary"); } [dir="rtl"] .transform { /* Invert horizontal X offset on transform (Tailwind RTL plugin does the rest) */ transform: translate(calc(var(--tw-translate-x) * -1), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; } [dir="ltr"] .transform { /* default - otherwise it overwrites*/ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; } @keyframes jiggle { 0%, 100% { transform: rotate(-1deg); } 50% { transform: rotate(1deg); } } .jiggle { animation: jiggle 0.25s infinite; } .carousel-container { position: relative; mask-image: linear-gradient( to right, rgba(0, 0, 0, 0), /* Left edge */ rgba(0, 0, 0, 1) 80px, /* visible after 80px */ rgba(0, 0, 0, 1) calc(100% - 80px), /* invisible 80px from right */ rgba(0, 0, 0, 0) 100% /* Right edge */ ); -webkit-mask-image: linear-gradient( to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 80px, rgba(0, 0, 0, 1) calc(100% - 80px), rgba(0, 0, 0, 0) 100% ); z-index: 1; } @media (max-width: 768px) { .carousel-container { mask-image: linear-gradient( to right, rgba(0, 0, 0, 0), /* Left edge */ rgba(0, 0, 0, 1) 20px, /* visible after 80px */ rgba(0, 0, 0, 1) calc(100% - 20px), /* invisible 80px from right */ rgba(0, 0, 0, 0) 100% /* Right edge */ ); -webkit-mask-image: linear-gradient( to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1) 20px, rgba(0, 0, 0, 1) calc(100% - 20px), rgba(0, 0, 0, 0) 100% ); } } .vertical-carousel-container { --mask-fade-distance: 80px; position: relative; -webkit-mask-image: linear-gradient( to bottom, transparent, black var(--mask-fade-distance), black calc(100% - var(--mask-fade-distance)), transparent ); mask-image: var(-webkit-mask-image); z-index: 1; } .vertical-carousel-container.hide-top-gradient { -webkit-mask-image: linear-gradient( to bottom, black, black calc(100% - var(--mask-fade-distance)), transparent ); mask-image: var(-webkit-mask-image); } .vertical-carousel-container.hide-bottom-gradient { -webkit-mask-image: linear-gradient( to bottom, transparent, black var(--mask-fade-distance), black ); mask-image: var(-webkit-mask-image); } .vertical-carousel-container.hide-top-gradient.hide-bottom-gradient { -webkit-mask-image: none; mask-image: none; } @media (max-width: 768px) { .vertical-carousel-container { --mask-fade-distance: 20px; } } /* DetailsModal staggered scaling anime */ @keyframes scaleIn { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.1); } 100% { transform: scale(1); opacity: 1; } } .bookmark-button { opacity: 0; transition: opacity 0.3s; } .group:hover .bookmark-button { opacity: 1; } @media (max-width: 1024px) { .group:hover .bookmark-button { opacity: 0; } } .cast-button-container { position: relative; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .cast-button-container google-cast-launcher { width: 24px !important; height: 24px !important; min-width: 24px !important; min-height: 24px !important; display: block; } .google-cast-button.hidden { display: none; } .google-cast-button:not(.casting) google-cast-launcher { @apply brightness-[500]; } /* Image fade-in on load */ img:not(.no-fade):not([src=""]) { opacity: 0; transition: opacity 0.8s ease-in-out; } /* Fade in when image has loaded class */ img.loaded:not(.no-fade) { opacity: 1; } /* For images that are already cached/loaded, show them immediately */ img[complete]:not(.no-fade):not([src=""]) { opacity: 1; }