ConceptPortal-public/rsconcept/frontend/src/styling/styles.css

216 lines
4.0 KiB
CSS
Raw Normal View History

/**
* Module: Custom styling.
*/
@import './constants.css';
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer utilities {
2024-03-26 12:49:38 +03:00
.font-main {
font-family: var(--font-main);
}
.font-controls {
font-family: var(--font-ui);
font-weight: 600;
2024-05-12 13:58:28 +03:00
}
.font-math {
font-family: var(--font-math);
}
}
@layer components {
2024-09-09 20:39:52 +03:00
.clr-footer {
color: var(--clr-app-600);
background-color: var(--clr-app-100);
2024-09-09 20:39:52 +03:00
}
.cc-modal-backdrop {
opacity: 0.5;
background-color: var(--clr-app-100);
2024-09-09 20:39:52 +03:00
}
.clr-input {
background-color: var(--clr-app-0);
2024-09-09 20:39:52 +03:00
&:disabled {
background-color: var(--clr-app-100);
}
}
2024-09-12 11:17:01 +03:00
.clr-controls,
.clr-tab,
.clr-btn-default {
background-color: var(--clr-app-200);
}
2024-09-12 11:17:01 +03:00
.clr-primary,
.clr-btn-primary:hover,
.clr-btn-primary:focus-visible {
@apply transition;
color: var(--clr-prim-999);
background-color: var(--clr-prim-200);
}
2024-09-12 11:17:01 +03:00
.clr-selected,
.clr-btn-primary {
color: var(--clr-app-999);
background-color: var(--clr-prim-600);
}
:is(.clr-disabled, .clr-btn-default, .clr-btn-primary):disabled {
@apply transition;
color: var(--clr-app-800);
background-color: var(--clr-app-200);
}
:is(.clr-hover, .clr-tab, .clr-btn-nav, .clr-btn-default):hover:not(:disabled) {
@apply transition;
color: var(--clr-app-999);
background-color: var(--clr-prim-800);
}
2024-05-12 13:58:28 +03:00
:is(.clr-outline, .clr-btn-primary, .focus-frame):focus-visible,
.focus-frame:has(:focus-visible) {
outline-width: 2px;
outline-style: solid;
outline-color: var(--clr-prim-200);
}
.clr-text-primary {
color: var(--clr-prim-100);
}
2024-09-12 11:17:01 +03:00
.clr-text-controls,
.clr-btn-nav,
.clr-btn-clear {
color: var(--clr-app-800);
2024-09-12 13:27:20 +03:00
background-color: transparent;
&:disabled {
color: var(--clr-app-600);
}
}
2024-09-12 11:17:01 +03:00
.clr-text-default,
input:disabled:not(::placeholder),
textarea:disabled:not(::placeholder) {
2024-06-10 21:03:10 +03:00
opacity: 1;
-webkit-text-fill-color: var(--clr-app-999);
color: var(--clr-app-999);
}
.icon-primary {
:not([disabled]) > & {
color: var(--clr-prim-100);
}
}
.icon-red {
:not([disabled]) > & {
color: var(--clr-warn-600);
}
}
.icon-green {
:not([disabled]) > & {
color: var(--clr-ok-600);
}
}
2024-05-07 17:58:36 +03:00
.inline-icon {
display: inline-block;
font-size: 1.25rem;
margin-left: 0.1rem;
margin-right: 0.1rem;
transform: translate(0, -0.2rem);
color: var(--clr-prim-100);
2024-05-07 17:58:36 +03:00
}
.cc-tab-tools {
top: 1.7rem;
right: 50%;
padding-top: 0.4rem;
transform: translate(50%, 0%);
}
.cc-label {
font-size: 0.875rem;
line-height: 1.25rem;
font-weight: 500;
cursor: default;
user-select: text;
white-space: nowrap;
}
.cc-column {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.cc-icons {
display: flex;
gap: 0.25rem;
}
2024-04-03 21:53:11 +03:00
2024-08-24 11:21:02 +03:00
.cc-fit-content {
field-sizing: content;
}
2024-05-14 19:16:04 +03:00
.cc-scroll-row {
2024-05-02 21:19:23 +03:00
scroll-snap-align: start;
scroll-snap-stop: always;
}
.cc-scroll-y {
overflow-y: auto;
2024-05-02 21:34:47 +03:00
overscroll-behavior-y: contain;
2024-05-02 21:19:23 +03:00
scroll-snap-type: y mandatory;
}
2024-04-03 21:53:11 +03:00
.cc-blur {
backdrop-filter: blur(3px);
}
2024-05-22 14:26:17 +03:00
2024-09-12 11:17:01 +03:00
.cc-modal-blur {
opacity: 0.3;
backdrop-filter: blur(2px);
}
2024-05-22 14:26:17 +03:00
.cc-shadow-border {
@apply shadow-sm shadow-[var(--clr-app-400)];
2024-05-22 14:26:17 +03:00
}
.cc-animate-position {
transition-property: transform top left bottom right margin padding;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: var(--duration-move);
}
.cc-fade-in {
opacity: 1;
transition-property: opacity;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: var(--duration-fade);
@starting-style {
opacity: 0;
}
}
.cc-animate-modal {
clip-path: inset(0% 0% 0% 0%);
opacity: 1;
transition-property: clip-path, opacity;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: var(--duration-modal);
@starting-style {
clip-path: inset(50% 50% 50% 50%);
opacity: 0;
}
}
}