@@ -679,7 +702,7 @@ export default function App() {
{/* Sheet */}
{sections.map((sec) => (
-
+
{sec.title}
@@ -689,7 +712,10 @@ export default function App() {
style={{
...styles.row,
background: getRowBg(e.status),
- animation: pulseId === e.entry_id ? "rowPulse 220ms ease-out" : "none",
+ animation:
+ pulseId === e.entry_id
+ ? "rowPulse 220ms ease-out"
+ : "none",
}}
>
))}
-
+
))}
@@ -776,6 +802,18 @@ const styles = {
backdropFilter: "blur(4px)",
},
+ // === Paper card base (replaces `card` visually) ===
+ paperCard: {
+ position: "relative",
+ borderRadius: 16,
+ overflow: "hidden",
+ border: "1px solid rgba(0,0,0,0.18)",
+ background: "rgba(255,255,255,0.35)",
+ boxShadow: "0 10px 24px rgba(0,0,0,0.12)",
+ transition: "transform 180ms ease, box-shadow 180ms ease",
+ },
+
+ // Fallback (kept, in case you still use it somewhere)
card: {
borderRadius: 16,
overflow: "hidden",
@@ -785,6 +823,82 @@ const styles = {
transition: "transform 180ms ease, box-shadow 180ms ease",
},
+ // Paper edges (top + bottom) — mask-based, lightweight, no heavy blur/filters
+ paperEdgeTop: {
+ position: "absolute",
+ left: 0,
+ right: 0,
+ top: 0,
+ height: 18,
+ pointerEvents: "none",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.62), rgba(255,255,255,0.0))",
+ opacity: 0.95,
+
+ WebkitMaskImage:
+ "radial-gradient(10px 8px at 6% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 14% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 24% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 36% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 49% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 62% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 74% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 86% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 94% 100%, #000 98%, transparent 102%)," +
+ "linear-gradient(#000, #000)",
+ maskImage:
+ "radial-gradient(10px 8px at 6% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 14% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 24% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 36% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 49% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 62% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 74% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 86% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 94% 100%, #000 98%, transparent 102%)," +
+ "linear-gradient(#000, #000)",
+
+ filter: "drop-shadow(0 1px 0 rgba(0,0,0,0.14))",
+ animation: "paperEdgeDrift 8s ease-in-out infinite",
+ },
+
+ paperEdgeBottom: {
+ position: "absolute",
+ left: 0,
+ right: 0,
+ bottom: 0,
+ height: 20,
+ pointerEvents: "none",
+ background:
+ "linear-gradient(0deg, rgba(255,255,255,0.62), rgba(255,255,255,0.0))",
+ opacity: 0.95,
+ transform: "scaleY(-1)",
+ WebkitMaskImage:
+ "radial-gradient(10px 8px at 6% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 14% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 24% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 36% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 49% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 62% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 74% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 86% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 94% 100%, #000 98%, transparent 102%)," +
+ "linear-gradient(#000, #000)",
+ maskImage:
+ "radial-gradient(10px 8px at 6% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 14% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 24% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 36% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 49% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(12px 9px at 62% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(9px 7px at 74% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(13px 10px at 86% 100%, #000 98%, transparent 102%)," +
+ "radial-gradient(10px 8px at 94% 100%, #000 98%, transparent 102%)," +
+ "linear-gradient(#000, #000)",
+ filter: "drop-shadow(0 1px 0 rgba(0,0,0,0.14))",
+ animation: "paperEdgeDrift 8s ease-in-out infinite",
+ },
+
sectionHeader: {
padding: "10px 12px",
fontWeight: 1000,
@@ -824,7 +938,8 @@ const styles = {
fontWeight: 1000,
borderRadius: 10,
border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.55), rgba(0,0,0,0.06))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.55), rgba(0,0,0,0.06))",
cursor: "pointer",
},
@@ -832,7 +947,8 @@ const styles = {
padding: "10px 12px",
borderRadius: 12,
border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.75), rgba(0,0,0,0.06))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.75), rgba(0,0,0,0.06))",
fontWeight: 1000,
cursor: "pointer",
whiteSpace: "nowrap",
@@ -862,7 +978,8 @@ const styles = {
padding: "10px 12px",
borderRadius: 12,
border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.75), rgba(0,0,0,0.05))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.75), rgba(0,0,0,0.05))",
fontWeight: 900,
cursor: "pointer",
transition: "transform 140ms ease, box-shadow 140ms ease",
@@ -907,7 +1024,8 @@ const styles = {
maxWidth: 560,
borderRadius: 18,
border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.42))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.42))",
boxShadow: "0 18px 50px rgba(0,0,0,0.35)",
padding: 14,
backdropFilter: "blur(6px)",
@@ -924,7 +1042,8 @@ const styles = {
height: 38,
borderRadius: 12,
border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.85), rgba(0,0,0,0.06))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.85), rgba(0,0,0,0.06))",
fontWeight: 1000,
cursor: "pointer",
lineHeight: "38px",
@@ -1014,13 +1133,10 @@ const styles = {
width: "100%",
maxWidth: 420,
padding: 26,
- borderRadius: 22,
+ borderRadius: 22, // paperCard uses 16; this overrides for login
position: "relative",
zIndex: 2,
- border: "1px solid rgba(0,0,0,0.25)",
- background: "linear-gradient(180deg, rgba(255,255,255,0.72), rgba(255,255,255,0.40))",
- boxShadow: "0 18px 55px rgba(0,0,0,0.35)",
- backdropFilter: "blur(8px)",
+ // border/background/boxShadow handled by PaperCard base
animation: "popIn 240ms ease-out",
},
loginTitle: {
@@ -1106,7 +1222,8 @@ const styles = {
borderRadius: "0 12px 12px 0",
border: "1px solid rgba(0,0,0,0.25)",
borderLeft: "none",
- background: "linear-gradient(180deg, rgba(255,255,255,0.85), rgba(0,0,0,0.06))",
+ background:
+ "linear-gradient(180deg, rgba(255,255,255,0.85), rgba(0,0,0,0.06))",
cursor: "pointer",
fontWeight: 900,
padding: 0,