*, *::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 { @apply text-secondaryDark; @apply opacity-25; } input { @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; font-size: var(--body-font-size); line-height: var(--body-line-height); overflow: overlay; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } .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: 133.4% !important; } .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 shadow; font-size: 88%; line-height: var(--body-line-height); kbd { @apply font-sans; @apply bg-gray-500; @apply bg-opacity-45; @apply text-primaryLight; @apply rounded-sm; @apply px-1; @apply ml-1; } } .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 flex-1; @apply w-full; @apply px-4 py-2; @apply bg-primary; @apply truncate; @apply rounded; @apply text-secondaryDark; @apply border border-divider; @apply transition; @apply focus:(outline-none border-accent); @apply disabled:cursor-not-allowed; } input, select, textarea, button { 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-accent; } pre.ace_editor { @apply font-mono; @apply resize-none; @apply z-0; } .select { @apply appearance-none; &::-ms-expand { @apply hidden; } } .select-wrapper { @apply flex flex-1; @apply relative; @apply cursor-pointer; &::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"; } } .search-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 left-3; content: "\e8b6"; } } 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; } .toasted-container { .toasted { &.toasted-primary { @apply bg-tooltip; @apply text-primary; @apply justify-start; @apply shadow; @apply font-medium; font-size: var(--body-font-size); line-height: var(--body-line-height); .action { @apply bg-gray-500; @apply px-4; @apply bg-opacity-10; @apply ml-auto; @apply sm:ml-8; @apply transition; @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); } } &.info { @apply !bg-accent; } &.error { @apply !bg-red-200; @apply !text-red-800; } &.success { @apply !bg-green-200; @apply !text-green-800; } } } .splitpanes__splitter { @apply relative; @apply bg-primaryLight; } .splitpanes--vertical > .splitpanes__splitter { @apply w-1; } .splitpanes--horizontal > .splitpanes__splitter { @apply h-1; } .splitpanes__splitter::before { @apply absolute; @apply inset-0; @apply bg-dividerLight; @apply opacity-0; @apply z-30; @apply transition; content: ""; } .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; } .splitpanes--vertical > .splitpanes__splitter::after { content: "\e5d4"; } .splitpanes--horizontal > .splitpanes__splitter::after { content: "\e5d3"; } .splitpanes__splitter:hover::before { @apply opacity-100; } .splitpanes--vertical > .splitpanes__splitter::before { left: -2px; right: -2px; height: 100%; } .splitpanes--horizontal > .splitpanes__splitter::before { top: -2px; bottom: -2px; width: 100%; } @media (max-width: 767px) { main { margin-bottom: env(safe-area-inset-bottom); } }