74 lines
1.6 KiB
SCSS
74 lines
1.6 KiB
SCSS
@use 'mixins' as *;
|
|
|
|
// ---------- Settings popup ----------
|
|
.settings-overlay { @include overlay(120); }
|
|
|
|
.settings-modal {
|
|
@include sheet(460px, min(560px, calc(100vh - 110px)));
|
|
|
|
&:focus, &:focus-visible { outline: none; }
|
|
}
|
|
|
|
.settings-modal-head { @include sheet-head; }
|
|
|
|
.settings-title { @include sheet-title; }
|
|
|
|
.settings-modal-body { @include sheet-body; }
|
|
|
|
.settings-group + .settings-group {
|
|
margin-top: 22px;
|
|
padding-top: 22px;
|
|
border-top: 1px solid var(--border);
|
|
}
|
|
|
|
.settings-group-head {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.settings-group-title { font-size: 0.92rem; font-weight: 700; color: var(--text); }
|
|
|
|
.settings-group-hint { font-size: 0.8rem; color: var(--muted); }
|
|
|
|
// segmented light / dark switch
|
|
.theme-switch { @include segmented; }
|
|
|
|
.theme-option {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 7px;
|
|
@include segmented-tab(8px 16px, 0.86rem);
|
|
}
|
|
|
|
// accent colour swatches
|
|
.accent-swatches { display: flex; flex-wrap: wrap; gap: 14px; }
|
|
|
|
.accent-swatch {
|
|
display: grid;
|
|
place-items: center;
|
|
width: 30px;
|
|
height: 30px;
|
|
border-radius: 50%;
|
|
border: 0;
|
|
padding: 0;
|
|
color: #fff;
|
|
background: linear-gradient(135deg, var(--swatch), var(--swatch-2));
|
|
transition: transform 0.12s, box-shadow 0.15s;
|
|
|
|
&:hover { transform: scale(1.1); }
|
|
|
|
&:active { transform: scale(0.94); }
|
|
|
|
&.active { box-shadow: 0 0 0 2px var(--bg-elev), 0 0 0 4px var(--swatch); }
|
|
}
|
|
|
|
@include popup-anim(
|
|
'settings-popup',
|
|
'.settings-modal',
|
|
0.16s,
|
|
transform 0.2s cubic-bezier(0.22, 0.61, 0.36, 1),
|
|
-10px
|
|
);
|