Files
nutty-tools/.common/styles/global.css
T
2025-09-15 08:07:00 +10:00

370 lines
6.1 KiB
CSS

/*****************/
/*** VARIABLES ***/
/*****************/
:root {
--domain: nutty;
--background-color: #181818;
--accent-color: #2196f3;
--success-color: #3be477;
--confirm-flash: #3be47680;
--button-color: #2e2e2e;
--dialog-background: #1d1d1d;
--callout-background: #181818;
--error-background: #a82d2e33;
--error-color: #c65e5e;
--mandatory-field-color: #c93f3f;
--error-text-color: #c93f3f;
}
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
html,
body {
margin: 0;
padding: 0;
font-family: Inter, system-ui, sans-serif;
/* font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; */
/* font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif; */
color: white;
background-color: var(--background-color);
}
/************/
/*** TEXT ***/
/************/
.title {
font-weight: 900;
font-size: 1.2em;
text-transform: uppercase;
}
.field {
display: flex;
flex-direction: column;
gap: 0.5em;
}
.setting-description {
font-size: 0.9em;
font-weight: 100;
}
.setting-attribute {
font-size: 0.8em;
font-weight: 200;
}
/***************/
/*** DIVIDER ***/
/***************/
.divider {
border: none;
/* border-top: 0.1px solid #444444; */
margin: 0.3em 0;
}
/***************/
/*** BUTTONS ***/
/***************/
button {
font-size: 1em;
font-weight: 600;
background-color: var(--button-color);
color: white;
opacity: 0.8;
border-width: 0;
border-radius: 0.5em;
border: 1px solid #404040;
padding: 0.5em 1em;
width: 100%;
transition: all 0.2s ease-in-out;
display: flex;
align-items: center;
justify-content: center;
}
button:hover {
opacity: 1;
cursor: pointer;
}
button:disabled {
opacity: 0.3;
cursor: not-allowed;
}
.icon-button {
width: 1em;
height: 1em;
background: transparent;
border: none;
font-size: 1.1em;
padding: 1em;
border-radius: 50%;
}
.icon-button:hover {
background: var(--button-color);
}
/************************/
/*** INPUT TEXT BOXES ***/
/************************/
textarea,
input {
font-family: inherit;
border-radius: 0.5em;
width: auto;
padding: 0.5em;
background-color: #171717;
border: none;
outline: 1px solid #404040;
color: white;
font-size: 0.9em;
transition: 0.2s;
}
textarea:disabled,
input:disabled {
opacity: 0.5;
}
textarea:focus,
input:focus,
select:focus {
outline: 1px solid var(--accent-color);
}
textarea {
resize: vertical;
}
.textarea-description {
min-height: 10em;
}
textarea::-webkit-resizer {
display: none;
}
/***********************/
/*** SLIDER SWITCHES ***/
/***********************/
/* Switch styling */
.switch {
position: relative;
display: inline-block;
width: 3em;
height: 1.5em;
font-size: 1em;
overflow: hidden;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: 0.4s;
}
.slider:before {
position: absolute;
content: "";
height: 1.1em;
width: 1.1em;
left: 0.2em;
top: 50%;
transform: translateY(-50%);
background-color: white;
transition: 0.4s;
}
input:checked+.slider {
background-color: var(--accent-color);
}
input:focus+.slider {
box-shadow: 0 0 1px var(--accent-color);
}
input:checked+.slider:before {
transform: translate(1.5em, -50%);
/* move knob across, stay centered */
}
/* Rounded sliders */
.slider.round {
border-radius: 1.5em;
}
.slider.round:before {
border-radius: 50%;
}
/******************/
/*** SCROLLBARS ***/
/******************/
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #2c2c2c;
/* Color of the tracking area */
}
::-webkit-scrollbar-thumb {
background-color: #9f9f9f;
/* Color of the scroll thumb */
border-radius: 4px;
/* Roundness of the scroll thumb */
border: none;
}
::-webkit-scrollbar-thumb:hover {
background-color: #d1d1d1;
/* Color of the scroll thumb on hover */
}
/***************/
/*** IFRAMES ***/
/***************/
iframe {
border-width: 0px;
}
/***************/
/*** CALLOUT ***/
/***************/
.callout {
font-size: 0.9em;
font-weight: 100;
background-color: var(--callout-background);
display: flex;
flex-direction: column;
gap: 1em;
padding: 1em;
border-radius: 0.5em;
border: 1px solid #40404080;
}
/**************/
/*** DIALOG ***/
/**************/
.dialog {
font-size: 1em;
background-color: var(--dialog-background);
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
display: flex;
flex-direction: column;
gap: 1em;
padding: 1em;
border-radius: 0.5em;
border: 1px solid #40404080;
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
z-index: 1000;
/* above overlay */
}
.dialog-nav-button {
background: transparent;
border: none;
font-size: 1.5em;
font-weight: 100;
padding: 0em;
width: 1em;
height: 1em;
position: absolute;
position: fixed;
/* fixed to viewport */
top: 0.5em;
/* small offset from top */
right: 0.5em;
/* small offset from right */
}
.dialog-nav-button:hover {
background: var(--button-color);
}
/******************/
/*** BLUR LAYER ***/
/******************/
.blur {
position: fixed;
inset: 0;
/* top:0; left:0; bottom:0; right:0 */
backdrop-filter: blur(10px);
/* blur the content behind */
-webkit-backdrop-filter: blur(10px);
/* Safari support */
z-index: 1;
/* behind the modal */
}
/***************/
/*** SELECTS ***/
/***************/
select {
padding: 0.5em;
font-size: 0.9em;
border-radius: 0.5em;
border: none;
outline: 1px solid #404040;
background-color: var(--callout-background);
color: #fff;
cursor: pointer;
min-width: 8em;
}