// ============================================================================= // Fab button // ============================================================================= .isekai-fab-group { display: flex; flex-direction: column; gap: 10px; position: fixed; z-index: 50; right: 18px; bottom: 8em; bottom: 15vh; @media screen and (min-width: 1340px) { right: 44px; } } .isekai-fab-hidden { display: none; } .isekai-fab-btn { display: flex; width: 48px; height: 48px; padding: 0; border: 1px #eee solid; outline: none; align-items: center; justify-content: center; text-align: center; border-radius: 50%; text-shadow: none; background-color: rgba(255, 255, 255, 0.95); color: #333; box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.12); user-select: none; -webkit-touch-callout: none; -webkit-user-select: none; &:hover { background-color: rgba(255, 255, 255, 0.9); color: #000; } &:active, &:focus { outline: none; } @media screen and (max-width: 850px) { display: none; } @media print { display: none; } } .skin-citizen { .isekai-fab-btn { border-color: var(--border-color-base); background-color: var(--color-surface-2); color: var(--color-emphasized); &:hover { border-color: var(--border-color-base); background-color: var(--color-surface-2--hover); color: var(--color-emphasized); } } } // ============================================================================= // Context menu // ============================================================================= .isekai-contextmenu-cover { position: fixed; z-index: 100; top: 0; left: 0; width: 100vw; height: 100vh; background-color: transparent; cursor: default; } #iseai-contextmenu { position: fixed; z-index: 105; } // ============================================================================= // Bottom Navbar // ============================================================================= @isekai-bottom-nav-button-size: 40px; .isekai-bottom-nav-container { position: fixed; z-index: 100; bottom: -2px; // Fix white line at the bottom left: 0; width: 100%; height: (@isekai-bottom-nav-button-size + 2px); height: ~"calc(var(--safe-area-inset-bottom, 0px) + " (@isekai-bottom-nav-button-size + 2px) ~")"; padding-bottom: 2px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.12); background-color: #fff; box-sizing: border-box; user-select: none; -webkit-touch-callout: none; -webkit-user-select: none; // Safe area padding-left: var(--safe-area-inset-left); padding-right: var(--safe-area-inset-right); padding-bottom: ~"calc(var(--safe-area-inset-bottom, 0px) + 2px)"; @media print { display: none; } @media screen and (min-width: 851px) { display: none; } } .isekai-bottom-nav { width: 100%; height: 100%; display: flex; flex-direction: row; justify-content: space-between; align-items: center; } @supports(backdrop-filter: blur(10px)) { .isekai-bottom-nav-container { background-color: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px) saturate(120%); } } // iOS @supports(-webkit-backdrop-filter: blur(10px)) { .isekai-bottom-nav-container { background-color: rgba(255, 255, 255, 0.8); -webkit-backdrop-filter: blur(20px) saturate(120%); } } @media screen and (max-width: 850px) { .isekai-bottom-nav-placeholder { display: flex; width: 100%; height: @isekai-bottom-nav-button-size; height: ~"calc(var(--safe-area-inset-bottom, 0px) + " @isekai-bottom-nav-button-size ~")"; } } .isekai-bottom-nav-btn { display: block; flex-grow: 0; flex-shrink: 0; flex-basis: (@isekai-bottom-nav-button-size + 10px); width: (@isekai-bottom-nav-button-size + 10px); height: @isekai-bottom-nav-button-size; line-height: @isekai-bottom-nav-button-size; text-align: left; font-size: 18px; color: #333; &:hover { background-color: rgba(0, 0, 0, 0.05); color: #333; text-decoration: none; } &:active { background-color: rgba(0, 0, 0, 0.1); color: #333; text-decoration: none; } } .isekai-bottom-nav-btn-expand { flex-grow: 1; flex-shrink: 1; flex-basis: auto; width: 100%; display: flex; overflow: hidden; } .isekai-bottom-nav-btn-icon { display: flex; flex-grow: 0; flex-shrink: 0; flex-basis: (@isekai-bottom-nav-button-size + 10px); width: (@isekai-bottom-nav-button-size + 10px); height: @isekai-bottom-nav-button-size; line-height: @isekai-bottom-nav-button-size; text-align: center; align-items: center; justify-content: center; } .isekai-bottom-nav-btn-label { display: inline-block; flex-grow: 1; flex-shrink: 1; flex-basis: auto; line-height: @isekai-bottom-nav-button-size; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; padding-right: 10px; } .ve-activated { .isekai-fab-group { display: none; } .isekai-bottom-nav-container { display: none; } } @media screen and (max-width: 850px) { .use-isekai-bottom-nav { &.skin-minerva { #mw-mf-page-center { padding-bottom: @isekai-bottom-nav-button-size; padding-bottom: ~"calc(var(--safe-area-inset-bottom, 0px) + " @isekai-bottom-nav-button-size ~")"; } } &.skin-citizen { .isekai-bottom-nav-container { z-index: 201; } .page-actions, .citizen-toc { bottom: ~"calc(var(--header-size) + var(--space-xs) + " @isekai-bottom-nav-button-size ~")"; } .citizen-header { bottom: @isekai-bottom-nav-button-size; } .citizen-feature-autohide-navigation-clientpref-1 .citizen-scroll--down .citizen-header { transform: translate3d(0, 200%, 0); } } } } .skin-citizen-dark { .isekai-bottom-nav-container { background-color: rgba(0, 0, 0, 0.8); backdrop-filter: blur(20px) saturate(120%); } .isekai-bottom-nav-btn { color: var(--color-base); } }