/* Settings animations */ @keyframes open { 0% { transform: scale(1.2); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes close { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(1.2); opacity: 0; } } @keyframes opacity { 0% { opacity: 0; } 20% { opacity: 0.5; } 50% { opacity: 1; } } /* Settings CSS */ .settings[data-mobile="true"] { flex-direction: column; background: var(--primary-header); .sidebar, .content { background: var(--primary-background); } .scrollbox { &::-webkit-scrollbar-thumb { border-top: none; } } /* Sidebar */ .sidebar { overflow-y: auto; .container { padding: 20px 8px calc(var(--bottom-navigation-height) + 30px); min-width: 218px; } .scrollbox { width: 100%; } .version { place-items: center; } } /* Content */ .content { padding: 0; .scrollbox { overflow: auto; } .contentcontainer { max-width: unset !important; padding: 16px 12px var(--bottom-navigation-height) !important; } } } .settings:not([data-mobile="true"]) { top: 0; left: 0; z-index: 10; width: 100%; height: 100%; position: fixed; animation: open 0.18s ease-out, opacity 0.18s; &.closing { animation: close 0.18s ease-in; } } .settings { height: 100%; display: flex; user-select: none; flex-direction: row; background: var(--primary-background); .scrollbox { overflow-y: scroll; visibility: hidden; transition: visibility 0.1s; } .container, .contentcontainer, .scrollbox:hover, .scrollbox:focus { visibility: visible; } // All children receive custom scrollbar. > * > ::-webkit-scrollbar-thumb { width: 4px; background-clip: content-box; border-top: 80px solid transparent; } .sidebar { flex: 1 0 218px; display: flex; justify-content: flex-end; background: var(--secondary-background); .container { min-width: 218px; max-width: 300px; padding: 80px 8px; display: flex; gap: 2px; flex-direction: column; } .divider { height: 30px; } .donate { color: goldenrod !important; } .logOut { color: var(--error) !important; } .version { margin: 1rem 12px 0; font-size: 0.625rem; color: var(--secondary-foreground); font-family: var(--monospace-font), monospace; user-select: text; display: grid; > div { gap: 2px; display: flex; flex-direction: column; } a:hover { text-decoration: underline; } } } .content { flex: 1 1 800px; display: flex; overflow-y: auto; .scrollbox { display: flex; flex-grow: 1; } .contentcontainer { display: flex; gap: 13px; height: fit-content; max-width: 740px; padding: 80px 32px; width: 100%; flex-direction: column; } details { margin: 14px 0; } h1 { margin: 0; line-height: 1rem; font-size: 1.2rem; font-weight: 600; } h3 { font-size: 0.8125rem; text-transform: uppercase; color: var(--secondary-foreground); &:first-child { margin-top: 0; } } h4 { margin: 4px 2px; font-size: 0.8125rem; color: var(--tertiary-foreground); text-transform: uppercase; } h5 { margin-top: 0; font-size: 0.75rem; font-weight: 400; } .footer { border-top: 1px solid; margin: 0; padding-top: 5px; font-size: 0.875rem; color: var(--secondary-foreground); } } .action { flex-grow: 1; padding: 80px 8px; visibility: visible; position: sticky; top: 0; &:after { content: "ESC"; margin-top: 4px; display: flex; justify-content: center; width: 40px; opacity: 0.5; font-size: 0.75rem; } .closeButton { display: flex; align-items: center; justify-content: center; border-radius: var(--border-radius-half); height: 40px; width: 40px; border: 3px solid var(--tertiary-background); cursor: pointer; svg { color: var(--secondary-foreground); } &:hover { background: var(--secondary-header); } &:active { transform: translateY(2px); } } } } @media (pointer: coarse) { .scrollbox { visibility: visible !important; overflow-y: auto; } }