CI/CD Pipeline / Build and Push PocketBase Docker Image (push) Successful in 14s
CI/CD Pipeline / i18n Catalog Check (push) Successful in 33s
CI/CD Pipeline / Build and Push App Docker Image (push) Successful in 3m27s
CI/CD Pipeline / Deploy to Kubernetes (push) Successful in 8m28s
154 lines
3.9 KiB
CSS
154 lines
3.9 KiB
CSS
* {
|
|
overscroll-behavior: none;
|
|
}
|
|
|
|
/* Keep app chrome non-selectable so iOS long-press doesn't open the
|
|
edit menu (AutoFill/Copy/Siri). Inputs and opted-in regions stay
|
|
selectable. */
|
|
body {
|
|
-webkit-touch-callout: none;
|
|
-webkit-user-select: none;
|
|
user-select: none;
|
|
}
|
|
|
|
input,
|
|
textarea,
|
|
[contenteditable="true"],
|
|
[contenteditable=""],
|
|
[data-selectable],
|
|
[data-selectable] * {
|
|
-webkit-touch-callout: default;
|
|
-webkit-user-select: text;
|
|
user-select: text;
|
|
}
|
|
|
|
@keyframes spin {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(360deg); }
|
|
}
|
|
|
|
.app {
|
|
transition: transform 500ms cubic-bezier(0.32, 0.72, 0, 1),
|
|
border-radius 500ms cubic-bezier(0.32, 0.72, 0, 1);
|
|
transform: scale(1) translateY(0);
|
|
border-radius: 0;
|
|
will-change: transform;
|
|
}
|
|
|
|
.app.drawer-scaling,
|
|
[data-drawer-level].drawer-scaling {
|
|
transform: scale(0.94) translateY(-8px);
|
|
border-radius: 12px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
[data-drawer-level="2"].drawer-scaling {
|
|
transform: scale(0.92) translateY(-6px);
|
|
}
|
|
|
|
[data-drawer-level="3"].drawer-scaling {
|
|
transform: scale(0.90) translateY(-4px);
|
|
}
|
|
|
|
::view-transition-old(root),
|
|
::view-transition-new(root),
|
|
::view-transition-old(page),
|
|
::view-transition-new(page),
|
|
::view-transition-old(app-header),
|
|
::view-transition-new(app-header) {
|
|
animation-duration: 180ms;
|
|
animation-timing-function: cubic-bezier(0.32, 0.72, 0, 1);
|
|
}
|
|
|
|
html[data-nav-direction="forward"]::view-transition-old(page) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-under-out;
|
|
}
|
|
html[data-nav-direction="forward"]::view-transition-new(page) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-over-in;
|
|
}
|
|
html[data-nav-direction="back"]::view-transition-old(page) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-over-out;
|
|
z-index: 1;
|
|
}
|
|
html[data-nav-direction="back"]::view-transition-new(page) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-under-in;
|
|
}
|
|
|
|
html[data-nav-direction="forward"][data-header-vt="exit"]::view-transition-old(app-header) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-header-out;
|
|
}
|
|
html[data-nav-direction="back"][data-header-vt="exit"]::view-transition-old(app-header) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-over-out;
|
|
}
|
|
html[data-nav-direction="forward"][data-header-vt="enter"]::view-transition-new(app-header) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-page-over-in;
|
|
}
|
|
html[data-nav-direction="back"][data-header-vt="enter"]::view-transition-new(app-header) {
|
|
animation: 300ms cubic-bezier(0.32, 0.72, 0, 1) both flxn-header-in;
|
|
}
|
|
|
|
@keyframes flxn-page-over-in {
|
|
from { transform: translateX(100%); }
|
|
}
|
|
@keyframes flxn-page-over-out {
|
|
to { transform: translateX(100%); }
|
|
}
|
|
@keyframes flxn-page-under-out {
|
|
to { transform: translateX(-25%); opacity: 0.8; }
|
|
}
|
|
@keyframes flxn-page-under-in {
|
|
from { transform: translateX(-25%); opacity: 0.8; }
|
|
}
|
|
|
|
@keyframes flxn-header-out {
|
|
45% { opacity: 0; }
|
|
to { transform: translateX(-25%); opacity: 0; }
|
|
}
|
|
@keyframes flxn-header-in {
|
|
from { transform: translateX(-25%); opacity: 0; }
|
|
}
|
|
|
|
@keyframes flxn-vt-fade-out {
|
|
to { opacity: 0; }
|
|
}
|
|
@keyframes flxn-vt-fade-in {
|
|
from { opacity: 0; }
|
|
}
|
|
|
|
@media (prefers-reduced-motion: reduce) {
|
|
::view-transition-group(*),
|
|
::view-transition-image-pair(*) {
|
|
animation: none !important;
|
|
}
|
|
|
|
::view-transition-old(*) {
|
|
animation: 120ms ease both flxn-vt-fade-out !important;
|
|
z-index: auto !important;
|
|
}
|
|
|
|
::view-transition-new(*) {
|
|
animation: 120ms ease both flxn-vt-fade-in !important;
|
|
}
|
|
|
|
.app,
|
|
[data-drawer-level] {
|
|
transition: none;
|
|
}
|
|
|
|
.app.drawer-scaling,
|
|
[data-drawer-level].drawer-scaling {
|
|
transform: none;
|
|
border-radius: 0;
|
|
}
|
|
|
|
[data-vaul-drawer],
|
|
[data-vaul-overlay] {
|
|
animation: none !important;
|
|
transition: none !important;
|
|
}
|
|
|
|
@keyframes spin {
|
|
from { transform: rotate(0deg); }
|
|
to { transform: rotate(0deg); }
|
|
}
|
|
} |