*, *::before, *::after { @apply backface-hidden; } :root { @apply antialiased; font-variant-ligatures: common-ligatures; } ::-webkit-scrollbar-track { @apply bg-transparent; } ::-webkit-scrollbar-thumb { @apply bg-divider bg-clip-content; @apply rounded-full; @apply border-solid border-4 border-transparent; @apply hover:(bg-dividerDark bg-clip-content); } ::-webkit-scrollbar { @apply w-4; @apply h-4; } .hide-scrollbar::-webkit-scrollbar { @apply hidden; } ::selection { @apply bg-accent; @apply text-accentContrast; } input::placeholder, textarea::placeholder { @apply text-secondaryDark; @apply opacity-25; } input, textarea { @apply text-secondaryDark; @apply font-medium; } html { scroll-behavior: smooth; } body { @apply bg-primary; @apply text-secondary; @apply font-medium; @apply select-none; @apply overflow-x-hidden; animation: fade 300ms forwards; font-size: var(--body-font-size); line-height: var(--body-line-height); overflow: overlay; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } @keyframes fade { 0% { opacity: 0; } 100% { opacity: 1; } } .fade-enter-active, .fade-leave-active, .page-enter-active, .page-leave-active, .layout-enter-active, .layout-leave-active { @apply transition-opacity; } .fade-enter, .fade-leave-to, .page-enter, .page-leave-to, .layout-enter, .layout-leave-to { @apply opacity-0; } .material-icons { font-size: var(--body-line-height) !important; width: var(--body-line-height); overflow: hidden; } .svg-icons { height: var(--body-line-height); width: var(--body-line-height); } a { @apply inline-flex; @apply text-current; @apply no-underline; @apply outline-none; @apply transition; font-size: var(--body-font-size); line-height: var(--body-line-height); &.link { @apply items-center; @apply px-1 py-0.5; @apply -mx-1 -my-0.5; @apply text-accent; @apply rounded; @apply hover:text-accentDark; @apply focus-visible:(ring ring-accent); } } .tippy-popper { .tooltip-theme { @apply bg-tooltip; @apply text-primary; @apply font-semibold; @apply py-1 px-2; @apply truncate; @apply shadow; font-size: 88%; line-height: var(--body-line-height); kbd { @apply inline-flex; @apply font-sans; @apply bg-gray-500; @apply bg-opacity-45; @apply text-primaryLight; @apply rounded-sm; @apply px-1; @apply ml-1; @apply truncate; } } .popover-theme { @apply bg-popover; @apply text-secondary; @apply p-2; @apply shadow-lg; @apply focus:outline-none; font-size: var(--body-font-size); line-height: var(--body-line-height); .tippy-roundarrow svg { @apply fill-popover; } } } [interactive] > div { @apply flex; @apply flex-1; @apply h-full; } .tippy-content > div { @apply flex flex-col; @apply max-h-46; @apply items-stretch; @apply overflow-y-auto; &::-webkit-scrollbar { @apply hidden; } } hr { @apply border-b border-dividerLight; @apply my-2; } .heading { @apply font-bold; @apply text-secondaryDark text-lg; } .input, .select, .textarea { @apply flex; @apply w-full; @apply px-4 py-2; @apply bg-transparent; @apply rounded; @apply text-secondaryDark; @apply border border-divider; @apply focus-visible:border-dividerDark; } input, select, textarea, button { @apply focus:outline-none; @apply truncate; @apply transition; @apply disabled:cursor-not-allowed; font-size: var(--body-font-size); line-height: var(--body-line-height); } .input[type="file"], .input[type="radio"], #installPWA { @apply hidden; } .floating-input ~ label { @apply font-medium; @apply py-0.5; @apply px-2; @apply m-2; @apply rounded; @apply transition; @apply absolute; @apply origin-top-left; } .floating-input:focus-within ~ label, .floating-input:not(:placeholder-shown) ~ label { @apply bg-primary; @apply transform; @apply origin-top-left; @apply scale-75; @apply -translate-y-5; @apply translate-x-1; } .floating-input:focus-within ~ label { @apply text-secondaryDark; } pre.ace_editor { @apply font-mono; @apply resize-none; @apply z-0; } .select { @apply appearance-none; @apply cursor-pointer; &::-ms-expand { @apply hidden; } } .select-wrapper { @apply flex flex-1; @apply relative; &::after { @apply absolute; @apply flex; @apply inset-y-0; @apply items-center; @apply justify-center; @apply pointer-events-none; @apply font-icon; @apply text-secondaryLight; @apply right-3; content: "\e313"; } } input[type="checkbox"] { @apply hidden; &, & + label { @apply align-middle; @apply cursor-pointer; &::before { @apply border-2 border-divider; @apply rounded; @apply inline-flex; @apply items-center; @apply justify-center; @apply text-transparent; @apply h-4; @apply w-4; @apply font-icon; content: "\e876"; margin: 8px 8px 8px 0; } } &:checked + label::before { @apply bg-accent; @apply border-accent; @apply text-primary; } } .info-response { @apply text-pink-500; } .success-response { @apply text-green-500; } .redir-response { @apply text-yellow-500; } .cl-error-response { @apply text-red-500; } .sv-error-response { @apply text-red-600; } .missing-data-response { @apply text-secondaryLight; } .Vue-Toastification__progress-bar { background-color: rgba(0, 0, 0, 0.6) !important; } .Vue-Toastification__toast { @apply !bg-tooltip; @apply !text-primary; @apply !justify-start; @apply !shadow; @apply !font-medium; @apply h-auto; @apply w-auto; @apply px-4; @apply py-2; @apply rounded; @apply flex; @apply items-center; } .Vue-Toastification__toast-body { @apply !font-sans; font-size: var(--body-font-size) !important; line-height: var(--body-line-height) !important; } .action { @apply bg-gray-500; @apply px-4; @apply bg-opacity-10; @apply ml-auto; @apply last:ml-4; @apply sm:ml-8; @apply transition; @apply rounded; @apply text-current; @apply normal-case; @apply hover:(bg-opacity-20 no-underline); @apply font-medium; font-size: var(--body-font-size); line-height: var(--body-line-height); } .Vue-Toastification__toast--info { @apply !bg-accent; } .Vue-Toastification__toast--error { @apply !bg-red-200; @apply !text-red-800; } .Vue-Toastification__toast--success { @apply !bg-green-200; @apply !text-green-800; } .smart-splitter .splitpanes__splitter { @apply relative; @apply bg-primaryLight; } .no-splitter .splitpanes__splitter { @apply relative; @apply bg-primaryLight; } .smart-splitter.splitpanes--vertical > .splitpanes__splitter { @apply w-1; } .smart-splitter.splitpanes--horizontal > .splitpanes__splitter { @apply h-1; } .no-splitter.splitpanes--vertical > .splitpanes__splitter { @apply w-0.5; @apply pointer-events-none; } .no-splitter.splitpanes--horizontal > .splitpanes__splitter { @apply h-0.5; @apply pointer-events-none; } .smart-splitter .splitpanes__splitter::before { @apply absolute; @apply inset-0; @apply bg-dividerLight; @apply opacity-0; @apply z-30; @apply transition; content: ""; } .smart-splitter .splitpanes__splitter::after { @apply absolute; @apply inset-0; @apply z-30; @apply transition; @apply flex; @apply items-center; @apply justify-center; @apply text-dividerDark; @apply font-icon; } .smart-splitter.splitpanes--vertical > .splitpanes__splitter::after { content: "\e5d4"; } .smart-splitter.splitpanes--horizontal > .splitpanes__splitter::after { content: "\e5d3"; } .smart-splitter .splitpanes__splitter:hover::before { @apply opacity-100; } .smart-splitter.splitpanes--vertical > .splitpanes__splitter::before { @apply -left-0.5; @apply -right-0.5; @apply h-full; } .smart-splitter.splitpanes--horizontal > .splitpanes__splitter::before { @apply -top-0.5; @apply -bottom-0.5; @apply w-full; } @media (max-width: 767px) { main { margin-bottom: env(safe-area-inset-bottom); } }